麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

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

2024-04-25 20:31:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、插件實(shí)現(xiàn)流程

開(kāi)始編寫(xiě)社區(qū)插件,您應(yīng)當(dāng)首先對(duì)插件實(shí)現(xiàn)的流程有一個(gè)大致的了解,以下是我們推薦的插件編寫(xiě)流程:

1、熟練使用 discuz! 社區(qū)系統(tǒng)后,對(duì)希望完善或補(bǔ)充的個(gè)性化功能進(jìn)行評(píng)估,進(jìn)而提出插件的功能需求。

2、對(duì)插件做一個(gè)概括性的設(shè)計(jì),例如:需要使用什么菜單、什么參數(shù),配置哪些選項(xiàng)、數(shù)據(jù)結(jié)構(gòu)如何設(shè)計(jì)、前后臺(tái)實(shí)現(xiàn)哪些功能等等。

3、閱讀本文檔并在系統(tǒng)設(shè)置中實(shí)際體驗(yàn) Discuz! 插件接口所實(shí)現(xiàn)的功用,例如:您的插件應(yīng)當(dāng)如何設(shè)計(jì)才能良好的掛接到社區(qū)系統(tǒng)中來(lái)。插件接口能夠?qū)崿F(xiàn)哪些功能、不能實(shí)現(xiàn)哪些功能,插件為此而需要做的優(yōu)化、改造和取舍。

4、編寫(xiě)相應(yīng)程序代碼和模板語(yǔ)句,實(shí)現(xiàn)所需的功能并進(jìn)行代碼測(cè)試、兼容性測(cè)試和代碼改進(jìn)。

5、如果需要公開(kāi)您的插件,可以用插件導(dǎo)出的方式,將插件配置信息導(dǎo)出到一個(gè) XML 文件中,連同相應(yīng)的程序和模板文件一同打包。同時(shí),編寫(xiě)一個(gè)適合新手的插件的說(shuō)明書(shū)也是必不可少的,其中包括:插件適用的 Discuz! 版本、功能概述、兼容性聲明、安裝方法、使用方法、卸載方法等等。

6、將插件提供給他人,或自己使用,根據(jù)使用者反饋,對(duì)插件進(jìn)行完善。插件實(shí)現(xiàn)流程至此結(jié)束。

二、文件命名規(guī)范

Discuz! 按照如下的規(guī)范對(duì)程序和模板進(jìn)行命名,請(qǐng)?jiān)谠O(shè)計(jì)插件時(shí)盡量遵循此命名規(guī)范:

1、可以直接通過(guò)瀏覽器訪問(wèn)的普通程序文件,以 .php 后綴命名。

2、被普通程序文件引用的程序文件,以 .inc.php 后綴命名。

3、被普通程序文件,或引用程序文件引用的函數(shù)庫(kù)或類(lèi)庫(kù),以 .func.php(函數(shù)庫(kù)) 或 .class.php(類(lèi)庫(kù)) 后綴命名。

4、模板文件,以 .htm 后綴命名,插件模板文件存在于 source/plugin/identifier/template/ 目錄中,手機(jī)版插件模板存在于 source/plugin/identifier/template/mobile/目錄中

5、模板語(yǔ)言包文件,以 .lang.php 后綴命名,插件語(yǔ)言包文件開(kāi)發(fā)時(shí)存放于 data/plugindata/ 目錄中,文件名identifier.lang.php。

6、動(dòng)態(tài)緩存文件,存放于 ./data/cache 目錄中,依據(jù)不同的功用進(jìn)行獨(dú)立的命名。

7、使用后臺(tái)數(shù)據(jù)備份功能生成的備份文件,通常以 .sql 為后綴,存放于 data/ 目錄中。

8、有些目錄中存在內(nèi)容為空白的 index.htm 文件,此類(lèi)文件是為了避免 Web 服務(wù)器打開(kāi) Directory Index 時(shí)可能產(chǎn)生的安全問(wèn)題。

9、[X2.5新增內(nèi)容] 從 Discuz! X2.5 開(kāi)始,產(chǎn)品對(duì)數(shù)據(jù)表進(jìn)行了封裝,封裝后的文件統(tǒng)一命名為 Table 類(lèi),通過(guò)“C::t(Table類(lèi)文件名)”方式調(diào)用。插件如需封裝自己的數(shù)據(jù)表,可將 Table 類(lèi)文件存放于 source/plugin/identifier/table/ 目錄下,并以 table_表名.php 格式命名,詳見(jiàn)X2.5的新程序架構(gòu)。

三、class_core.php 模塊功能白皮書(shū)

source/class/class_core.php 是 Discuz! 的通用初始化模塊程序,其幾乎被所有的外部代碼所引用,在您開(kāi)始插件設(shè)計(jì)之前,可以先對(duì)該模塊的大致功能做一定的了解。class_core.php 主要完成了以下任務(wù):

1、對(duì)不同 PHP 及操作系統(tǒng)環(huán)境做了判斷和兼容性處理,使得 Discuz! 可以運(yùn)行于各種不同配置的服務(wù)器環(huán)境下。

2、初始化常量 IN_DISCUZ 為 TRUE,用于 include 或 require 后續(xù)程序的判斷,避免其他程序被非法引用。

3、讀取社區(qū)程序所在絕對(duì)路徑,存放于常量 DISCUZ_ROOT 中。

4、加載所需的基本函數(shù)庫(kù) source/function/function_core.php。

5、通過(guò) config/config_global.php 中提供的數(shù)據(jù)庫(kù)賬號(hào)信息,建立數(shù)據(jù)庫(kù)連接。Discuz! 支持?jǐn)?shù)據(jù)表的前綴,如需獲得表的全名,可使用“DB::table('tablename')”方式。

6、判斷用戶是否登錄,如登錄標(biāo)記 $_G['uid'] 為非 0,同時(shí)將 $_G['username'](加了 addslashes 的用戶名,可用于不加修改的插入數(shù)據(jù)庫(kù))、 $_G['member']['username'](原始的用戶名,可用于頁(yè)面顯示)、$_G['member']['password'](用戶密碼的MD5串)等相應(yīng)用戶信息賦值,其他用戶信息存放于 $_G['member'],更多信息可通過(guò)“getuserprofile()”獲取。

7、判斷用戶管理權(quán)限,將管理權(quán)限標(biāo)記 $_G['adminid'] 為 1~3 中間的值。0 代表普通用戶;1 代表論壇管理員;2 代表超級(jí)版主;3 代表論壇版主。 將用戶權(quán)限按照其所在的主用戶組 ID 標(biāo)記為 $_G['groupid'],相關(guān)權(quán)限從該 $_G['groupid'] 所對(duì)應(yīng)的系統(tǒng)緩存中讀出,存放于 $_G['group']。

8、預(yù)置讀入了每個(gè)模塊的各種設(shè)置變量。

9、[X2.5變更內(nèi)容] $_G['username'] 將不進(jìn)行 addslashes 處理。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 做爰xxxⅹ性护士hd在线 | 成人在线观看免费观看 | 性生活视频网站 | 国产精品免费成人 | 黄色片快播 | 69性欧美高清影院 | 国产a一级片| 久久国产精品99国产 | 毛片在哪里看 | 欧美a在线观看 | 欧美成人一区二区视频 | 91精品观看91久久久久久国产 | 性欧美大战久久久久久久免费观看 | 精国品产一区二区三区有限公司 | 精品一区二区在线观看视频 | 91av久久| 久久91精品久久久久清纯 | 一区二区三区小视频 | 视频国产一区二区 | 国产小视频在线观看 | 国产精品久久久久久久久久东京 | 久久伊 | 午夜视频免费在线观看 | 日韩一级免费毛片 | 欧美一级毛片免费观看 | 禁漫天堂久久久久久久久久 | 羞羞视频免费网站 | 精品久久久久久久久久久久 | 一区二区三区欧美日韩 | 亚洲综合一区在线观看 | 99国语露脸久久精品国产ktv | 日韩在线欧美在线 | 亚洲性综合网 | 91精品国产92久久久久 | 毛片在线免费观看完整版 | 午夜精品视频免费观看 | 久久精品亚洲欧美日韩精品中文字幕 | 中文字幕精品一二三四五六七八 | 久久久久久久久久亚洲精品 | 国产精品视频一区二区噜噜 | 久久精品免费网站 |