專案分組是 ThinkPHP 重要機制,可將原本多個獨立專案合併為一個,共享公共資源(如數據庫配置、模型類)的同時,保持各分組獨立的配置、模板與語言包。本文詳細說明配置方法與目錄結構。
在 Config/config.php 中設置以下五項:
| 配置選項 | 說明 | 範例或建議 |
|---|---|---|
| APP_GROUP_LIST | 所有分組名稱列表,不設置則不啟用分組 | 'APP_GROUP_LIST'=>'Home,Admin,User,Blog' |
| DEFAULT_GROUP | 預設分組名稱 | 'DEFAULT_GROUP'=>'Home' |
| APP_GROUP_DEPR | 分組間分隔符(用於 A/D 函數與路由) | 建議預設 . |
| TMPL_FILE_DEPR | 模板文件中模塊與操作分隔符(僅分組部署有效) | 建議預設 /,可用 U 方法自動生成 URL |
| VAR_GROUP | 獲取分組名稱的 URL 變量 | 建議預設 g(如 index.php?g=Admin&m=Index&a=edit) |
當設為 _ 時,Admin 分組 Index 模塊 add 操作的模板路徑由:
Tpl/default/Admin/Index/add.html
變更為:
Tpl/default/Admin/Index_add.html
減少一層目錄深度。同時也作為語言包分組定義的分隔符。
在 Conf/ 目錄下建立以分組名稱命名的目錄(首字母大寫,如 Admin),並在其中建立 config.php。系統訪問該分組時會自動加載並覆蓋公共配置同名項。例如:
Conf/Admin/config.php
APP_GROUP_LIST 才能啟用分組模式。更多 ThinkPHP 技術請參考專題:《ThinkPHP 入門教程》、《ThinkPHP 常用方法總結》、《Smarty 模板入門基礎教程》及《PHP 模板技術總結》。