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裡面的靜態方法至關重要。
http://www.bkjia.com/PHPjc/440257.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440257.htmlTechArticlePHPCMS是採用MVC設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行項目部署和訪問,無論訪問任何一個模組或者功能,只...