Discuz! 7.2 二次開發基礎 (一)

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) DZmysql的數據庫操做處理所有封裝在dbstuff(db_mysql.class.php)類中緩存

 

b) 所在的外部數據均經過daddslashes()初步過濾,而後再過濾,再根據須要處理安全

 

 

 

 

Discuz!的文件系統目錄編輯器

注:想搞DZ開發,就得弄懂DZ中每一個文件的功能。
a) Admin:後臺管理功能模塊
b) ApiDZ系統與其它系統之間接口程序
c) ArchiverDZ中,用以搜索引擎優化的無圖版
d) AttachmentsDZ中 ,用戶上傳附件的存放目錄
e) CustomavatarsDZ中,用戶自定義頭像的目錄
f) ForumdataDZ緩存數據的存放目錄
g) ImagesDZ模板中的圖片存放目錄
h) IncludeDZ經常使用函數庫,基本功能模塊目錄
i) IpdataDZ統計IP來路用的數據
j) PluginsDZ插件信息的存放目錄
k) TemplatesDZ模板文件的存放目錄
l) WapDZ無線,Wap程序處理目錄函數

 

 

 

 

Discuz!的顯示控制(網站多樣式風格輸出)post


a) 顯示層就是你們一般所看到的網站風格了。DZ中每套風絡分別在templatesimages下對應一個風格文件的存放目錄。


b) DZ網站風格文件處理的原理:其實很簡單,DZ使用template.func.php中的parse_template()PHP正則運算把htm模文件中的模板標籤,轉換成了PHP代碼,並根據styleid保存在forumdata/templates下,這個有點像Smarty中的技術。

 

 

 

 

DZ首創的HTML編輯器


DZ首創的HTML編輯器,如何截取並使用,若是進行Discuz!代和Html代碼的轉換


a) 這也算是DZ比較牛的一項技術了,在早期版中,因DZ編輯器的不足,使得不少用戶放棄了DZ。實現原理:經過JS把用的一些操做轉換成了DZbbcode代碼。這樣子提交了安全性,將帶有bbcode代碼的內容存入數據,在用戶打開頁頁時,又把bbcode代碼轉換成html代碼
相關文章
相關標籤/搜索