PHPCMS是采用MVC設計模式開發,基於模塊和操作的方式進行訪問,采用單一入口模式進行項目部署和訪問,無論訪問任何一個模塊或者功能,只有一個統一的入口。
入口程序是在前期處理用戶請求的引導程序。它是唯一一個可以被最終用戶可以直接請求運行的。
PHPCMS框架入口文件base.php:
文件路徑:根目錄/phpcms/base.php 代碼片段如下:
該文件為框架入口文件,包含實例化系統/模塊類方法,調用系統/模塊方法,系統常用常量等。如:
pc_base::load_model('*_model') 加載數據庫模型 類
pc_base::load_sys_class('classname') 實例化系統類
pc_base::load_app_class('classname’,’admin') 實例化模塊類
pc_base::load_sys_func (‘funcfile’) 調用系統函數庫
pc_base::load_sys_func('global','test'); //加載模塊函數庫(調用test模塊的global函數包)
實例化一個應用
文件路徑:根目錄/index.php
這段代碼首先加載了 phpcms 框架的引導文件 base.php,然後調用其靜態方法creat_app()根據指定的配置文件建立了一個 Web 應用實例並運行。
數據庫配置文件database.php的調用
文件路徑:根目錄/caches/configs/database.php
這段代碼首先使用 pc_base::load_app_func()加載了index模塊自定義的函數庫global.func.php,這樣就可以隨心所欲地調用global.func.php自定義的函數了。使用pc_base::load_config()靜態方法加載了phpcms的數據庫配置文件database.php,獲取數據庫的配置信息,這樣可以擺脫PHPCMS框架的局限性,使用原生態的PHP mysql去進行二次開發。
實例化模塊類
這段代碼使用pc_base::load_app_class()方法實例化admin模塊的admin.class類。
由此我們知道,不管我們是調用PHPCMS框架裡面的系統類或函數庫還是調用自定義的模塊類或函數庫等,我們都可以在base.php裡找到需要的調用方法,所以PHPCMS二次開發,弄清base.php裡面的靜態方法至關重要。