国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Discuz > 正文

Discuz二次開發基本知識總結

2024-07-09 22:57:29
字體:
來源:轉載
供稿:網友
點評:Discuz二次開發基本知識總結,需要對discuz進行二次開發的朋友可以參考下。
 
 
一) 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!數據庫設計的每個表的功能,每個表中每個字段的功能。 
關于DZ數據庫設計文檔,請參閱DZ相關的項目文檔(請從本貼附件中下載) 

三) Discuz!的流程控制 
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文件 
b) 前臺流程控制:前臺的流程控制比較簡單:流程是自由的,如: 
首頁:index.php 
會員注冊:register.php; 
會員登錄:logging.php 
發貼程序:post.php 
會員信息:member.php 
論壇內容:forumdisplay.php 
查看貼子:viewthread.php 
…大部分功能,此處不一一列出… 
c) DZ根目下的config.inc.php屬于整個DZ系統的配置文件 

四) Discuz!的數據處理過程 
a) DZ對mysql的數據庫操作處理全部封裝在dbstuff(db_mysql.class.php)類中 
b) 所在的外部數據均通過“daddslashes()”初步過濾,然后再過濾,再根據需要處理 

五) Discuz!的顯示控制(網站多樣式風格輸出) 
a) 顯示層就是大家通常所看到的網站風格了。DZ中每套風絡分別在templates及images下對應一個風格文件的存放目錄。網站風格的制作,請參閱詳細的DZ風格制作文檔 
b) DZ網站風格文件處理的原理:其實很簡單,DZ使用template.func.php中的parse_template()以PHP正則運算把htm模文件中的模板標簽,轉換成了PHP代碼,并根據styleid保存在forumdata/templates下,這個有點像Smarty中的技術。 

六) DZ中的語言處理 
a) DZ前臺及后臺中、英語言的實現,均是把語句定義成了語變量,然后在模板輸入,語句變量的賦值,均放在模板目錄中的*.lang.php文件中,DZ在生成網站風格時就加載了這相應的語言包。 

七) DZ如何處理用戶信息(存取、計算、更新過程) 
新手要做二次開發,都必須掌握這數組中,每個數組元素的意義。 
a) DZ的基本信息,如用戶信息,Session信息存在如下變量中: 
a). $_DCACHE 
b). $_COOKIE 
c). $_DCOOKIE 
d). $_DSESSION 
e). $_DPLUGIN 
b) 可以通過print_r($GLOBALS),打印全部變量 
八) DZ中緩存處理機制 
a) DZ中緩存處理過程都放在“cache.func.php”中,DZ的緩存處理比較簡單,其原理是把一個數組轉換成了PHP代碼,并保存在緩存目錄下,大家可打開緩存文件查看便知。 
b) 使用方法:如果在新開的功能中,需要緩存某部分數據,基本上就是: 
1)定義并注冊緩存名字。 
2)從數據讀取相應的數據。 
3)數據在寫入緩存前作相應處理。 
4)最后寫入緩存。 
具體操作,可以看文件中的代碼,做相應的修改即可 
九) DZ中模板處理機制 
a) DZ獨創的模板處理技術,類似于Smarty中的模板處理,只是具體算法,過程不同,Smarty是一種重型模板引擎方案。其原理都是把模板中的變量轉換成相應的PHP代碼,這個過程實際是模訪JAVA中的一次編譯,多處運行。 
十) DZ中權限處理機制 
a) 對于DZ中前臺的每相action都有$discuz_action定義,DZ根據用戶所在的用戶組來判定用戶是否具有相應操作$discuz_action的權限。至于后臺的權限權驗證,則更簡單了,依據“admin==1”來確定的 
十一) DZ中如何實現URL靜態化 
a) DZ中的靜態有兩法,只要懂ReWrite規劃的朋友,一看就知。 
十二) DZ獨創的HTML編輯器,如何截取并使用,如果進行Discuz!代和Html代碼的轉換 
a) 這也算是DZ比較牛的一項技術了,在早期版中,因DZ編輯器的不足,使得很多用戶放棄了DZ。實現原理:通過JS把用的一些操作轉換成了DZ的bbcode代碼。這樣子提交了安全性,將帶有bbcode代碼的內容存入數據,在用戶打開頁頁時,又把bbcode代碼轉換成html代碼 

本貼聲明:由于時間有限,本貼只有關于DZ部分功能的簡短分析。若各位網友,對本文感興趣并想更為深入了解DZ,請在本貼后回貼!我將盡可能多的DZ技術分析寫在本文,不斷更新本貼內容。 

部分文件說明: 

admincp.php 管理 
ajax.php ajax功能 
announcement.php 公告 
attachment 附件 
board.php 真正的首頁 
config.inc.php 這個是配置文件 
corpus.php 論壇文集 
digest.php 精華帖子 
discuz_version.php 論壇版本號 
faq.php 問題列表 
forumdisplay.php 論壇列表 
index.php 跳轉頁面 
loggin.php 認證頁面(登錄退出) 
mail_config.inc.php 郵件配置 
member.php 用戶操作 
memcp.php 個人控制面版 
misc.php 零碎功能 
my.php 我的帖子 
plugin.php 插件 
pm.php 短信 
post.php 發送帖子 
redirect.php 頁面重定向 
register.php 注冊 
robots.txt 限制搜索 
rss.php rss信息發布 
search.php 論壇查詢 
secode.php 驗證碼 
stats.php 統計 
topic.php 首頁論壇專題 
topicadmin 主題管理 
viewpro.php 顯示個人信息 
viewthread.php 主題顯示 

文件夾 
admin 管理 
api 接口 
archiver 文檔 
attachments 附件 
customavatars 自定義表情 
forumdata 論壇數據包含緩沖數據 
images 圖片 
include 公共文件 
install 安裝包 
ipdata ip地址 
plugins 插件 
readme 幫助文檔 
templates 模板 
utilities 工具包 
wap 手機網站 

文件夾include 
advertisements.inc.php 廣告管理 
ajax.js ajax相關 
attachment.func.php 附件函數集 
bbscode.js 論壇表情 
cache.fun.php 緩存函數集 
category.inc.php 欄目 
chinese.class.php 
common.inc.php 最主要的頭文件 
common.js 最主要的js文件 
corpus.func.php 論壇文集函數 
counter.inc.php 論壇計數 
cron.func.php 計劃任務 
db_mysql.class.php 數據庫 
db_mysql_error.inc.php 數據庫錯誤 
debug.php 調試信息 
discuzcode.func.php 論壇代碼 
editor.func.php 編輯器 
editor.js 編輯器 
editpost.inc.php 編輯帖子 
floatadv.js 浮動廣告 
forum.func.php 論壇函數集 
global.func.php 全局函數 
menu.js 菜單 
misc.func.php 其它 
newreply.inc.php 新回復 
newthread.inc.php 新主題 
*pmprompt.inc.php 
post.fun.php 發表主題 
printable.inc.php 論壇打印 
qihoo.js qihoo 
relatethreads.inc.php 相關主題 
security.inc.php 安全 
sendmail.inc.php 郵件 
serverbusy.htm 系統繁忙 
template.func.php 模板 
threadpay.inc.php 購買帖子
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青河县| 洪泽县| 香河县| 伊吾县| 五大连池市| 佛山市| 化州市| 沁阳市| 岳普湖县| 仁化县| 务川| 广西| 西充县| 安义县| 澄城县| 灵寿县| 通化县| 昌邑市| 来凤县| 资兴市| 巴青县| 台南县| 平定县| 南京市| 建阳市| 蒙阴县| 陈巴尔虎旗| 伊吾县| 大丰市| 攀枝花市| 贡山| 开化县| 和龙市| 腾冲县| 双鸭山市| 聂拉木县| 区。| 屯昌县| 武平县| 金昌市| 青岛市|