Discuz!的流程控制php
a) 後臺流程控:DZ後臺全部的功能,均須要註冊到admincp.php文件,每一個功能都至少有一個或一個以上的Action(動做),在admincp.php中,能夠定義Action的執行權限,分別爲:「admin==1」管理員,或「admin==2 || admin==3」超級版主和版主,每一個Action對應一個腳本文件,腳本文件的命名爲action.inc.php(*.inc.php),並存放在admin目錄下,如執行:admincp.php?action=dodo,至關於執行admin目錄下的dodo.inc.php文件html
b) 前臺流程控制:前臺的流程控制比較簡單:流程是自由的,如:
首頁:index.php
會員註冊:register.php;
會員登陸:logging.php
發貼程序:post.php
會員信息:member.php
論壇內容:forumdisplay.php
查看貼子:viewthread.php
…大部分功能,此處不一一列出…mysql
c) DZ根目下的config.inc.php屬於整個DZ系統的配置文件sql
Discuz!的數據處理過程數據庫
a) DZ對mysql的數據庫操做處理所有封裝在dbstuff(db_mysql.class.php)類中緩存
b) 所在的外部數據均經過「daddslashes()」初步過濾,而後再過濾,再根據須要處理安全
Discuz!的文件系統目錄編輯器
注:想搞DZ開發,就得弄懂DZ中每一個文件的功能。
a) Admin:後臺管理功能模塊
b) Api:DZ系統與其它系統之間接口程序
c) Archiver:DZ中,用以搜索引擎優化的無圖版
d) Attachments:DZ中 ,用戶上傳附件的存放目錄
e) Customavatars:DZ中,用戶自定義頭像的目錄
f) Forumdata:DZ緩存數據的存放目錄
g) Images:DZ模板中的圖片存放目錄
h) Include:DZ經常使用函數庫,基本功能模塊目錄
i) Ipdata:DZ統計IP來路用的數據
j) Plugins:DZ插件信息的存放目錄
k) Templates:DZ模板文件的存放目錄
l) Wap:DZ無線,Wap程序處理目錄函數
Discuz!的顯示控制(網站多樣式風格輸出)post
a) 顯示層就是你們一般所看到的網站風格了。DZ中每套風絡分別在templates及images下對應一個風格文件的存放目錄。
b) DZ網站風格文件處理的原理:其實很簡單,DZ使用template.func.php中的parse_template()以PHP正則運算把htm模文件中的模板標籤,轉換成了PHP代碼,並根據styleid保存在forumdata/templates下,這個有點像Smarty中的技術。
DZ首創的HTML編輯器
DZ首創的HTML編輯器,如何截取並使用,若是進行Discuz!代和Html代碼的轉換