PHPCMS的使用小結(jié)
更新時間:2010年09月20日 01:04:19 作者:
前段時間仔細看了一下PHPCMS這套開源的系統(tǒng),實現(xiàn)了程序與模板分離,覺得寫得真的不錯。本人很少關(guān)注開源系統(tǒng),尤其是PHP的,覺得PHP本身就是一個寵大的函數(shù)庫,不過幾千個系統(tǒng)函數(shù)確實解決了不少問題。
下面我講講關(guān)于這套系統(tǒng)的加載流程
定義根目錄,定義include目錄
加載核心文件
配置文件'config.inc.php'
全局函數(shù)'global.func.php'
目錄操作函數(shù)'dir.func.php'
url相關(guān)函數(shù)'url.func.php'
數(shù)據(jù)輸出相關(guān)類'output.class.php'
權(quán)限類'priv_group.class.php'
時間處理類'times.class.php'
加載語言數(shù)組'phpcms.lang.php'
加載數(shù)庫存類'db_mysql.class.php'
定義常量,大部分我們常用的信息如IP,HTTP_REFERER,SCRIPT_NAME...一律用常量
獲得變量,從$_POST,$_GET,$_COOKIE,-> extract
讀取CACHE,cache_read函數(shù)大部分都是讀取的一些數(shù)組文件,然后extract (extract每個數(shù)組都別忘了unset)
獲得當前$mod,默認是PHPCMS
判斷用戶是否登錄
讀取會員組權(quán)限
讀取模板文件,通過template函數(shù)
首先會讀取根據(jù)參數(shù)生成cache模板php文件
判斷是否存在該文件并且該文件 TPL_ROOT.TPL_NAME.'/'.$module.'/'.$template.'.html'生成日期是否等于TPL_CACHEPATH.$module.'_'.$template.'.tpl.php',否則重新編譯和生成tpl文件
讀取tpl文件
這套CMS的優(yōu)點在于程序與模板分離,將常用的數(shù)據(jù)通過以數(shù)組形式存取在文件上面,提升了很高的性能,不用每次都從數(shù)據(jù)庫來讀取,然后就是template,通過自帶的語法函數(shù)編譯后存取為tpl增加了模板的靈活性,美工不用懂得PHP語法,也能靈活的寫布局;里面自帶的TAG功能也不錯。
缺點在于,一次性加載了太多的不需的文件在內(nèi)存中,尤其是都是以變量和數(shù)組形式,不管是否用得著。
亮點在于,可以很方便生成HTML,彌補了缺點,總體來說架構(gòu)和思路相當不錯,值得學習和二次開發(fā)!
定義根目錄,定義include目錄
加載核心文件
配置文件'config.inc.php'
全局函數(shù)'global.func.php'
目錄操作函數(shù)'dir.func.php'
url相關(guān)函數(shù)'url.func.php'
數(shù)據(jù)輸出相關(guān)類'output.class.php'
權(quán)限類'priv_group.class.php'
時間處理類'times.class.php'
加載語言數(shù)組'phpcms.lang.php'
加載數(shù)庫存類'db_mysql.class.php'
定義常量,大部分我們常用的信息如IP,HTTP_REFERER,SCRIPT_NAME...一律用常量
獲得變量,從$_POST,$_GET,$_COOKIE,-> extract
讀取CACHE,cache_read函數(shù)大部分都是讀取的一些數(shù)組文件,然后extract (extract每個數(shù)組都別忘了unset)
獲得當前$mod,默認是PHPCMS
判斷用戶是否登錄
讀取會員組權(quán)限
讀取模板文件,通過template函數(shù)
首先會讀取根據(jù)參數(shù)生成cache模板php文件
判斷是否存在該文件并且該文件 TPL_ROOT.TPL_NAME.'/'.$module.'/'.$template.'.html'生成日期是否等于TPL_CACHEPATH.$module.'_'.$template.'.tpl.php',否則重新編譯和生成tpl文件
讀取tpl文件
這套CMS的優(yōu)點在于程序與模板分離,將常用的數(shù)據(jù)通過以數(shù)組形式存取在文件上面,提升了很高的性能,不用每次都從數(shù)據(jù)庫來讀取,然后就是template,通過自帶的語法函數(shù)編譯后存取為tpl增加了模板的靈活性,美工不用懂得PHP語法,也能靈活的寫布局;里面自帶的TAG功能也不錯。
缺點在于,一次性加載了太多的不需的文件在內(nèi)存中,尤其是都是以變量和數(shù)組形式,不管是否用得著。
亮點在于,可以很方便生成HTML,彌補了缺點,總體來說架構(gòu)和思路相當不錯,值得學習和二次開發(fā)!
相關(guān)文章
PHP連接sql server 2005環(huán)境配置及問題解決
這篇文章主要介紹了PHP連接sql server 2005環(huán)境配置及問題解決,需要的朋友可以參考下2014-08-08PHP數(shù)組式訪問接口ArrayAccess用法分析
這篇文章主要介紹了PHP數(shù)組式訪問接口ArrayAccess用法,結(jié)合實例形式分析了數(shù)組式訪問接口ArrayAccess的概念、功能、實現(xiàn)與使用方法,需要的朋友可以參考下2017-12-12php采用ajax數(shù)據(jù)提交post與post常見方法總結(jié)
這篇文章主要介紹了php采用ajax數(shù)據(jù)提交post與post常見方法,實例總結(jié)了json格式傳遞數(shù)據(jù)的優(yōu)點并總結(jié)了四種常見的POST提交數(shù)據(jù)方式,需要的朋友可以參考下2014-11-11PHP Imagick完美實現(xiàn)圖片裁切、生成縮略圖、添加水印
這篇文章主要介紹了PHP Imagick完美實現(xiàn)圖片裁切、生成縮略圖、添加水印的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-02-02淺析php中array_map和array_walk的使用對比
這篇文章給大家先是詳細的介紹了array_map()和array_walk()的語法、參數(shù)以及注意事項,而后又給大家詳細的介紹了其中的關(guān)鍵點,文中介紹的很詳細,相信會對大家的理解和學習很有幫助,有需要的朋友們可以參考借鑒,感興趣的朋友們下面來一起學習學習吧。2016-11-11