下面我講講關於這套系統的加載流程
定義根目錄,定義include目錄
加載核心文件
配置文件'config.inc.php'
全局函數'global.func.php'
目錄操作函數'dir.func.php'
url相關函數'url.func.php'
數據輸出相關類'output.class.php'
權限類'priv_group.class.php'
時間處理類'times.class.php'
加載語言數組'phpcms.lang.php'
加載數庫存類'db_mysql.class.php'
定義常量,大部分我們常用的信息如IP,HTTP_REFERER,SCRIPT_NAME...一律用常量
獲得變量,從$_POST,$_GET,$_COOKIE,-> extract
讀取CACHE,cache_read函數大部分都是讀取的一些數組文件,然後extract (extract每個數組都別忘了unset)
獲得當前$mod,默認是PHPCMS
判斷用戶是否登錄
讀取會員組權限
讀取模板文件,通過template函數
首先會讀取根據參數生成cache模板php文件
判斷是否存在該文件並且該文件 TPL_ROOT.TPL_NAME.'/'.$module.'/'.$template.'.html'生成日期是否等於TPL_CACHEPATH.$module.'_'.$template.'.tpl.php',否則重新編譯和生成tpl文件
讀取tpl文件
這套CMS的優點在於程序與模板分離,將常用的數據通過以數組形式存取在文件上面,提升了很高的性能,不用每次都從數據庫來讀取,然後就是template,通過自帶的語法函數編譯後存取為tpl增加了模板的靈活性,美工不用懂得PHP語法,也能靈活的寫布局;裡面自帶的TAG功能也不錯。
缺點在於,一次性加載了太多的不需的文件在內存中,尤其是都是以變量和數組形式,不管是否用得著。
亮點在於,可以很方便生成HTML,彌補了缺點,總體來說架構和思路相當不錯,值得學習和二次開發!