国产欧美二区三区-国产欧美高清-国产欧美国产精品第二区-国产欧美国产精品第一区-小说区 图片区-小说区 综合区 都市激情

當前位置: 首頁 > 站長資訊 > 正文頁面

Discuz!的插件流程、文件命名規范和class_core.php

一、插件實現流程Dia網站目錄_網站網址收錄與提交入口

開始編寫社區插件,您應當首先對插件實現的流程有一個大致的了解,以下是我們推薦的插件編寫流程:Dia網站目錄_網站網址收錄與提交入口

1、熟練使用 discuz! 社區系統后,對希望完善或補充的個性化功能進行評估,進而提出插件的功能需求。Dia網站目錄_網站網址收錄與提交入口

2、對插件做一個概括性的設計,例如:需要使用什么菜單、什么參數,配置哪些選項、數據結構如何設計、前后臺實現哪些功能等等。Dia網站目錄_網站網址收錄與提交入口

3、閱讀本文檔并在系統設置中實際體驗 Discuz! 插件接口所實現的功用,例如:您的插件應當如何設計才能良好的掛接到社區系統中來。插件接口能夠實現哪些功能、不能實現哪些功能,插件為此而需要做的優化、改造和取舍。Dia網站目錄_網站網址收錄與提交入口

4、編寫相應程序代碼和模板語句,實現所需的功能并進行代碼測試、兼容性測試和代碼改進。Dia網站目錄_網站網址收錄與提交入口

5、如果需要公開您的插件,可以用插件導出的方式,將插件配置信息導出到一個 XML 文件中,連同相應的程序和模板文件一同打包。同時,編寫一個適合新手的插件的說明書也是必不可少的,其中包括:插件適用的 Discuz! 版本、功能概述、兼容性聲明、安裝方法、使用方法、卸載方法等等。Dia網站目錄_網站網址收錄與提交入口

6、將插件提供給他人,或自己使用,根據使用者反饋,對插件進行完善。插件實現流程至此結束。Dia網站目錄_網站網址收錄與提交入口

二、文件命名規范Dia網站目錄_網站網址收錄與提交入口

Discuz! 按照如下的規范對程序和模板進行命名,請在設計插件時盡量遵循此命名規范:Dia網站目錄_網站網址收錄與提交入口

1、可以直接通過瀏覽器訪問的普通程序文件,以 .php 后綴命名。Dia網站目錄_網站網址收錄與提交入口

2、被普通程序文件引用的程序文件,以 .inc.php 后綴命名。Dia網站目錄_網站網址收錄與提交入口

3、被普通程序文件,或引用程序文件引用的函數庫或類庫,以 .func.php(函數庫) 或 .class.php(類庫) 后綴命名。Dia網站目錄_網站網址收錄與提交入口

4、模板文件,以 .htm 后綴命名,插件模板文件存在于 source/plugin/identifier/template/ 目錄中,手機版插件模板存在于 source/plugin/identifier/template/mobile/目錄中Dia網站目錄_網站網址收錄與提交入口

5、模板語言包文件,以 .lang.php 后綴命名,插件語言包文件開發時存放于 data/plugindata/ 目錄中,文件名identifier.lang.php。Dia網站目錄_網站網址收錄與提交入口

6、動態緩存文件,存放于 ./data/cache 目錄中,依據不同的功用進行獨立的命名。Dia網站目錄_網站網址收錄與提交入口

7、使用后臺數據備份功能生成的備份文件,通常以 .sql 為后綴,存放于 data/ 目錄中。Dia網站目錄_網站網址收錄與提交入口

8、有些目錄中存在內容為空白的 index.htm 文件,此類文件是為了避免 Web 服務器打開 Directory Index 時可能產生的安全問題。Dia網站目錄_網站網址收錄與提交入口

9、[X2.5新增內容] 從 Discuz! X2.5 開始,產品對數據表進行了封裝,封裝后的文件統一命名為 Table 類,通過“C::t(Table類文件名)”方式調用。插件如需封裝自己的數據表,可將 Table 類文件存放于 source/plugin/identifier/table/ 目錄下,并以 table_表名.php 格式命名,詳見X2.5的新程序架構。Dia網站目錄_網站網址收錄與提交入口

三、class_core.php 模塊功能白皮書Dia網站目錄_網站網址收錄與提交入口

source/class/class_core.php 是 Discuz! 的通用初始化模塊程序,其幾乎被所有的外部代碼所引用,在您開始插件設計之前,可以先對該模塊的大致功能做一定的了解。class_core.php 主要完成了以下任務:Dia網站目錄_網站網址收錄與提交入口

1、對不同 PHP 及操作系統環境做了判斷和兼容性處理,使得 Discuz! 可以運行于各種不同配置的服務器環境下。Dia網站目錄_網站網址收錄與提交入口

2、初始化常量 IN_DISCUZ 為 TRUE,用于 include 或 require 后續程序的判斷,避免其他程序被非法引用。Dia網站目錄_網站網址收錄與提交入口

3、讀取社區程序所在絕對路徑,存放于常量 DISCUZ_ROOT 中。Dia網站目錄_網站網址收錄與提交入口

4、加載所需的基本函數庫 source/function/function_core.php。Dia網站目錄_網站網址收錄與提交入口

5、通過 config/config_global.php 中提供的數據庫賬號信息,建立數據庫連接。Discuz! 支持數據表的前綴,如需獲得表的全名,可使用“DB::table('tablename')”方式。Dia網站目錄_網站網址收錄與提交入口

6、判斷用戶是否登錄,如登錄標記 $_G['uid'] 為非 0,同時將 $_G['username'](加了 addslashes 的用戶名,可用于不加修改的插入數據庫)、 $_G['member']['username'](原始的用戶名,可用于頁面顯示)、$_G['member']['password'](用戶密碼的MD5串)等相應用戶信息賦值,其他用戶信息存放于 $_G['member'],更多信息可通過“getuserprofile()”獲取。Dia網站目錄_網站網址收錄與提交入口

7、判斷用戶管理權限,將管理權限標記 $_G['adminid'] 為 1~3 中間的值。0 代表普通用戶;1 代表論壇管理員;2 代表超級版主;3 代表論壇版主。 將用戶權限按照其所在的主用戶組 ID 標記為 $_G['groupid'],相關權限從該 $_G['groupid'] 所對應的系統緩存中讀出,存放于 $_G['group']。Dia網站目錄_網站網址收錄與提交入口

8、預置讀入了每個模塊的各種設置變量。Dia網站目錄_網站網址收錄與提交入口

9、[X2.5變更內容] $_G['username'] 將不進行 addslashes 處理。Dia網站目錄_網站網址收錄與提交入口

  

此文由 網站目錄_網站網址收錄與提交入口 編輯,未經允許不得轉載!:

相關文章