dedecms相信大家一定都知道這個cms系統,功能比較強大,有比較完善的內容發佈,還有內容靜態化系統,還有就是它有自己獨特的標籤系統和模板系統。而模板系統也是其他cms系統比較難模仿的的東西,這個東西還是需要一點開發功力和技巧的。
本系列文章就研究一下dedecms的這套系統,挖掘一下看看裏面有什麼好東西。
建議大家先了解一下dedecms的功能。自己先動手用一下,對系統功能有個大概瞭解。
本文先帶領大家瞭解一下dedecms的代碼和功能架構。
其實,dedecms在架構上沒什麼應用架構模式可言,就是最簡單的PHP應用而已。訪問不同的PHP文件,管理不同的系統功能。看目錄大家都能猜出來各個目錄幹什麼用的。include目錄放系統的一些公用函數和類,plus目錄放插件,templates目錄放模板,dede目錄是管理後臺目錄(可任意改名),member目錄是會員信息,install 目錄 安裝程序目錄,安裝完後可刪除[安裝時必須有可寫入權限],images 爲 系統默認模板圖片存放目錄,uploads爲 默認上傳目錄[必須可寫入],..../a 默認HTML文件存放目錄[必須可寫入]..../templets 系統默認內核模板目錄
..../data 系統緩存或其它可寫入數據存放目錄[必須可寫入]
..../special 專題目錄[生成一次專題後可以刪除special/index.php,必須可寫入]
此外目錄 special 和 data 是什麼功能的呢?
我們打開include目錄,看看裏面都有什麼好東西。
calendar 一個選時間的js
captcha 一個驗證碼,還是開源組件
code 沒啥意思,翻頁的文字
data 裏面是一些系統用到的資源,比如聲音,分詞庫,字體,圖片等
dialog 裏面估計是一些AJAX彈出窗口的內容部分。以後碰到了再說
inc 裏面一些單獨的功能類函數,以後研究一下爲什麼要單獨放
payment 支付接口
taglib 好東西,是dedecms的標籤存放的地方,打開看看,裏面一堆文件,貌似就是dedecms的模板標籤啦
tpllib 模板庫?暫時搞不明白,希望隨着研究深入,能弄明白
其他include目錄下的文件估計都是一些最基本的功能文件啦,比如常用函數,模板系統之類的東西了。用到再說吧
打開dede目錄(就是dedecms的管理目錄)看看,喲嗬,裏面的東西還挺多,看名字就知道了,都是各種功能管理文件,一個功能一個文件。最原始的網站開發模式做出來的。我們姑且稱之爲高效吧。畢竟PHPwind和discuz之類也是用類似的方法開發的。
整個程序大體就這些東西啦。功能就不講了,建議不熟悉dedecms的朋友自己看一下dedecms的後臺管理功能,這樣能有助於我們更好理解和分析它。
另外提一點,我們的這次代碼分析,主要分析的是其頁面生成、顯示、模板處理、標籤處理部分,這套系統也是dedecms比較引以爲傲的東西,之後呢,還會分析一些筆者覺得比較酷的功能代碼。
最後,希望這次代碼分析旅程能讓大家有所收穫。