天天看點

phpcms v9二次開發筆記

根目錄 | – api 接口檔案目錄 | – caches 緩存檔案目錄 | – configs 系統配置檔案目錄 | – caches_* 系統緩存目錄 | – phpcms phpcms架構主目錄 | – languages 架構語言包目錄 | – libs 架構主類庫、主函數庫目錄 | – model 架構資料庫模型目錄(每個目錄都是一個子產品,包含控制器) | – modules 架構子產品目錄 | – templates 架構系統模闆目錄(視圖,預設在default目錄) | – phpsso_server phpsso主目錄 | – statics 系統附件包 | – css 系統css包 | – images 系統圖檔包 | – js 系統js包 | – uploadfile 網站附件目錄 | – admin.php 背景管理入口 | – index.php 程式主入口 | – crossdomain.xml flash跨域傳輸檔案 | – robots.txt 搜尋引擎蜘蛛限制配置檔案 | – favicon.ico 系統icon圖示

單入口,子產品通路方法[示例]:

m = content 為模型/子產品名稱 位于phpcms/modules/content c = index 為控制器名稱 位于phpcms/modules/content/index.php a = show 為時間名稱 位于phpcms/modules/content/index.php 中show()方法 id = 1 為其他參數 與正常get傳遞參數形式相同

路由配置:

預設是

即定義了m,c,a以及預設會通路content子產品的index控制器的init方法

phpcms v9架構中的子產品,位于<code>phpcms/modules</code>目錄中 每一個目錄稱之為一個子產品。即url通路中的m。

如果要建立一個子產品,隻要在 phpcms/modules 目錄下建立檔案夾并放入你的控制器類就可以了。

例如我要開發一個叫做test的子產品,那麼首先在 phpcms/modules 目錄下建立檔案夾,并将其命名為test。

test子產品的标準結構通常是這樣的。

classes 為子產品類庫包 functions 為子產品函數庫包 templates 為子產品模闆包。這裡通常放置含有權限控制的控制器模闆,也就是背景模闆。

如果您的模闆有單獨的前台模闆,你需要在<code>phpcms\templates\default</code>下建立一個您的子產品目錄來放置前台模闆,"default"為你的風格包名稱,我們預設适用default

位于<code>phpcms/modules/子產品/</code>目錄下面。

類名就是<code>檔案名.php</code>,例如一個名為mytest的控制器,那麼他的命名為<code>mytest.php</code>即可。

控制器類的類名稱與控制器檔案名必須相同。

控制器類預設繼承系統的函數庫,可以直接使用。

phpcms還有<code>子產品</code>體系,即控制器屬于子產品。

資料庫模型位于:<code>phpcms/model/</code> 目錄下。

資料模型檔案的命名規則建議為<code>資料表名稱+'_model.class.php'</code>

如果在我們的建立的子產品中我要使用一個資料庫“test”,首先需要建立一個資料庫模型檔案,檔案名稱為<code>'test_model.class.php'</code>

内容如下:

注意:

1.資料庫模型類名稱必須與檔案名稱相同; 2.<code>$this-&gt;db_setting = 'default'</code>為資料庫配置檔案中配置資料庫連結池名稱,預設為default,一般情況下不需要修改。 3.<code>$this-&gt;table_name = 'test'</code>為資料表名稱

這樣我們就建立好了一個資料庫模型類。

在子產品的控制器中使用

來加載。

視圖位于<code>phpcms\templates\default</code>下。其中default表示預設主題目錄。default下的視圖檔案夾與子產品檔案夾一一對應。

配置檔案位置:<code>caches/configs/</code>,其中:

database.php資料庫 route.php路由 system.php系統配置

1、系統類庫位于系統的<code>phpcms/libs/classes</code>目錄下面,函數庫檔案名為<code>*.class.php</code>,其中<code>global.func.php</code>為架構中預設加載,<code>global.func.php</code>中函數可直接使用

2、系統函數庫位于系統的<code>phpcms/libs/functions</code>目錄下面,函數庫檔案名為<code>*.func.php</code>

使用pc_base::load_sys_class()加載類 使用pc_base::load_sys_func()加載函數 使用pc_base::load_model()加載資料模型 使用pc_base::load_config()加載配置檔案

我們可以在類的前面加載需要的類庫。例如:

下一篇: setjmp與longjmp