編寫外掛程式時,可能需要讀取一些外掛的資訊,如果外掛需要使用者進行配置,還需要讀取使用者設定的引數值。 Discuz!
允許外掛程式使用資料庫讀取和快取讀取這兩種方法獲取外掛資訊和引數。 Discuz!
的外掛介面已經對外掛資訊進行了合理的快取,使用快取讀取的方式,將比資料庫讀取速度更快,消耗的資源更是幾乎可以忽略不計。快取讀取唯一的侷限是需要插
件使用外掛介面提供的通用後臺管理程式。如果使用自定義後臺模組的方式,需要後臺模組將引數存放到 pluginvars
資料表中,才能被系統正常快取。我們強烈推薦您透過快取讀取外掛資訊和配置資料。
由於呼叫系統快取統一透過 「loadcache()」 函式呼叫,並存放於 $_G['cache']
中,因此 「loadcache('plugin')」 後外掛的變數緩會存放於 $_G['cache']['plugin'] 中。嵌入點外掛和以
plugin.php 為主指令碼呼叫的外掛無需載入此快取,系統已自動載入了快取。變數配置型別為 「版塊/*」 的變數會儲存在
$_G['cache']['forums'][fid]['plugin'] 中。變數配置型別為 「使用者組/*」 的變數會儲存在
$_G['cache']['usergroup_groupid']['plugin'] 和 $_G['group']['plugin'] 中。