Destoon作為目前最受歡迎的B2B開源程序之一,很多人都想要自己二次開發來達到自己想要的效果,那么我們需要了解什么呢?接下來看下吧
工具/原料
能夠理很好理解Destoon的構架的原理
扎實的PHP基礎,熟悉結構化程序
熟悉MYSQL就用,掌握SQL語言,懂SQL優化者更佳
熟悉使用Destoon的各項功能
方法/步驟
一) Destoon的文件系統目錄
a) Admin:后臺管理功能模塊b) Api:DT系統與其它系統之間接口程序c) Archiver:DT中,用以搜索引擎優化的無圖版d) Attachments:DT中 ,用戶上傳附件的存放目錄e) Customavatars:DT中,用戶自定義頭像的目錄f) Forumdata:DT緩存數據的存放目錄g) Images:DT模板中的圖片存放目錄h) Include:DT常用函數庫,基本功能模塊目錄i) Ipdata:DT統計IP來路用的數據j) Plugins:DT插件信息的存放目錄k) Templates:DT模板文件的存放目錄l) Wap:DT無線,Wap程序處理目錄
二) 必須記熟Destoon!數據庫設計的每個表的功能,每個表中每個字段的功能。關于DT數據庫設計文檔,請參閱DT相關的項目文檔
三) Destoon!的流程控制a)后臺流程控:DT后臺所有的功能,均需要注冊到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) DT根目下的config.inc.php屬于整個DT系統的配置文件
四) Destoon!的數據處理過程a) DT對mysql的數據庫操作處理全部封裝在dbstuff(db_mysql.class.php)類中b) 所在的外部數據均通過“daddslashes()”初步過濾,然后再過濾,再根據需要處理
五) Destoon!的顯示控制(網站多樣式風格輸出)a) 顯示層就是大家通常所看到的網站風格了。DT中每套風絡分別在templates及images下對應一個風格文件的存放目錄。網站風格的制作,請參閱詳細的DT風格制作文檔b)DT網站風格文件處理的原理:其實很簡單,DT使用template.func.php中的parse_template()以PHP正則運算把 htm模文件中的模板標簽,轉換成了PHP代碼,并根據styleid保存在forumdata/templates下,這個有點像Smarty中的技術。
六) DT中的語言處理a) DT前臺及后臺中、英語言的實現,均是把語句定義成了語變量,然后在模板輸入,語句變量的賦值,均放在模板目錄中的*.lang.php文件中,DT在生成網站風格時就加載了這相應的語言包。
七) DT如何處理用戶信息(存取、計算、更新過程)新手要做二次開發,都必須掌握這數組中,每個數組元素的意義。a) DT的基本信息,如用戶信息,Session信息存在如下變量中:a). $_DCACHEb). $_cookiec). $_Dcookied). $_DSESSIONe). $_DPLUGINb) 可以通過print_r($GLOBALS),打印全部變量
八) DT中緩存處理機制a) DT中緩存處理過程都放在“cache.func.php”中,DT的緩存處理比較簡單,其原理是把一個數組轉換成了PHP代碼,并保存在緩存目錄下,大家可打開緩存文件查看便知。b) 使用方法:如果在新開的功能中,需要緩存某部分數據,基本上就是:1)定義并注冊緩存名字。2)從數據讀取相應的數據。3)數據在寫入緩存前作相應處理。4)最后寫入緩存。具體操作,可以看文件中的代碼,做相應的修改即可
九) DT中模板處理機制a) DT獨創的模板處理技術,類似于Smarty中的模板處理,只是具體算法,過程不同,Smarty是一種重型模板引擎方案。其原理都是把模板中的變量轉換成相應的PHP代碼,這個過程實際是模訪JAVA中的一次編譯,多處運行。
十) DT中權限處理機制a) 對于DT中前臺的每相action都有$Destoon_action定義,DT根據用戶所在的用戶組來判定用戶是否具有相應操作$Destoon_action的權限。至于后臺的權限權驗證,則更簡單了,依據“admin==1”來確定的
十一) DT中如何實現URL靜態化a) DT中的靜態有兩法,只要懂ReWrite規劃的朋友,一看就知。
十二) DT獨創的HTML編輯器,如何截取并使用,如果進行Destoon!代和Html代碼的轉換a)這也算是DT比較牛的一項技術了,在早期版中,因DT編輯器的不足,使得很多用戶放棄了DT。實現原理:通過JS把用的一些操作轉換成了DT的 bbcode代碼。這樣子提交了安全性,將帶有bbcode代碼的內容存入數據,在用戶打開頁頁時,又把bbcode代碼轉換成html代碼
工具/原料
能夠理很好理解Destoon的構架的原理
扎實的PHP基礎,熟悉結構化程序
熟悉MYSQL就用,掌握SQL語言,懂SQL優化者更佳
熟悉使用Destoon的各項功能
方法/步驟
一) Destoon的文件系統目錄
a) Admin:后臺管理功能模塊b) Api:DT系統與其它系統之間接口程序c) Archiver:DT中,用以搜索引擎優化的無圖版d) Attachments:DT中 ,用戶上傳附件的存放目錄e) Customavatars:DT中,用戶自定義頭像的目錄f) Forumdata:DT緩存數據的存放目錄g) Images:DT模板中的圖片存放目錄h) Include:DT常用函數庫,基本功能模塊目錄i) Ipdata:DT統計IP來路用的數據j) Plugins:DT插件信息的存放目錄k) Templates:DT模板文件的存放目錄l) Wap:DT無線,Wap程序處理目錄
二) 必須記熟Destoon!數據庫設計的每個表的功能,每個表中每個字段的功能。關于DT數據庫設計文檔,請參閱DT相關的項目文檔
三) Destoon!的流程控制a)后臺流程控:DT后臺所有的功能,均需要注冊到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) DT根目下的config.inc.php屬于整個DT系統的配置文件
四) Destoon!的數據處理過程a) DT對mysql的數據庫操作處理全部封裝在dbstuff(db_mysql.class.php)類中b) 所在的外部數據均通過“daddslashes()”初步過濾,然后再過濾,再根據需要處理
五) Destoon!的顯示控制(網站多樣式風格輸出)a) 顯示層就是大家通常所看到的網站風格了。DT中每套風絡分別在templates及images下對應一個風格文件的存放目錄。網站風格的制作,請參閱詳細的DT風格制作文檔b)DT網站風格文件處理的原理:其實很簡單,DT使用template.func.php中的parse_template()以PHP正則運算把 htm模文件中的模板標簽,轉換成了PHP代碼,并根據styleid保存在forumdata/templates下,這個有點像Smarty中的技術。
六) DT中的語言處理a) DT前臺及后臺中、英語言的實現,均是把語句定義成了語變量,然后在模板輸入,語句變量的賦值,均放在模板目錄中的*.lang.php文件中,DT在生成網站風格時就加載了這相應的語言包。
七) DT如何處理用戶信息(存取、計算、更新過程)新手要做二次開發,都必須掌握這數組中,每個數組元素的意義。a) DT的基本信息,如用戶信息,Session信息存在如下變量中:a). $_DCACHEb). $_cookiec). $_Dcookied). $_DSESSIONe). $_DPLUGINb) 可以通過print_r($GLOBALS),打印全部變量
八) DT中緩存處理機制a) DT中緩存處理過程都放在“cache.func.php”中,DT的緩存處理比較簡單,其原理是把一個數組轉換成了PHP代碼,并保存在緩存目錄下,大家可打開緩存文件查看便知。b) 使用方法:如果在新開的功能中,需要緩存某部分數據,基本上就是:1)定義并注冊緩存名字。2)從數據讀取相應的數據。3)數據在寫入緩存前作相應處理。4)最后寫入緩存。具體操作,可以看文件中的代碼,做相應的修改即可
九) DT中模板處理機制a) DT獨創的模板處理技術,類似于Smarty中的模板處理,只是具體算法,過程不同,Smarty是一種重型模板引擎方案。其原理都是把模板中的變量轉換成相應的PHP代碼,這個過程實際是模訪JAVA中的一次編譯,多處運行。
十) DT中權限處理機制a) 對于DT中前臺的每相action都有$Destoon_action定義,DT根據用戶所在的用戶組來判定用戶是否具有相應操作$Destoon_action的權限。至于后臺的權限權驗證,則更簡單了,依據“admin==1”來確定的
十一) DT中如何實現URL靜態化a) DT中的靜態有兩法,只要懂ReWrite規劃的朋友,一看就知。
十二) DT獨創的HTML編輯器,如何截取并使用,如果進行Destoon!代和Html代碼的轉換a)這也算是DT比較牛的一項技術了,在早期版中,因DT編輯器的不足,使得很多用戶放棄了DT。實現原理:通過JS把用的一些操作轉換成了DT的 bbcode代碼。這樣子提交了安全性,將帶有bbcode代碼的內容存入數據,在用戶打開頁頁時,又把bbcode代碼轉換成html代碼
樂發網超市批發網提供超市貨源信息,超市采購進貨渠道。超市進貨網提供成都食品批發,日用百貨批發信息、微信淘寶網店超市采購信息和超市加盟信息.打造國內超市采購商與批發市場供應廠商搭建網上批發市場平臺,是全國批發市場行業中電子商務權威性網站。
本文來源: 怎么做好Destoon二次開發的準備