首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

ThinkPHP 專案分組配置完整指南:多應用共享核心邏輯

     編輯:PHP 相關知識

ThinkPHP 專案分組配置完整指南

ThinkPHP 專案分組機制允許在單一專案下劃分多個應用群組(如前台 Home、後台 Admin、API User),共享核心 Model、設定與資源,又能各自擁有獨立的控制器、視圖、設定檔與語言包。本文詳細說明啟用設定、目錄結構、個性化配置與 URL 存取方式。

啟用分組:Conf/config.php 設定

<?php
return [
    'APP_GROUP_LIST' => 'Home,Admin,User,Blog', // 必填,啟用分組
    'DEFAULT_GROUP' => 'Home',                  // 預設群組
    'APP_GROUP_DEPR' => '.',                    // 群組分隔符 (用於 U 函數、路由)
    'TMPL_FILE_DEPR' => '/',                    // 模板檔案分隔符
    'VAR_GROUP' => 'g',                         // URL 參數名稱 (如 ?g=Admin)
];
?>

目錄結構規劃

App/
  Conf/           # 共用設定
    config.php
  Home/           # Home 群組 (首字母大寫)
    Conf/
      config.php  # Home 專屬設定 (覆蓋共用設定)
    Lib/
      Action/     # Home 控制器
    Tpl/          # Home 視圖
  Admin/
    Conf/config.php
    Lib/Action/
    Tpl/
  User/ ...
  Blog/ ...
  Common/         # 共用函數、類別
Runtime/          # 快取、日誌
Public/           # 靜態資源

群組專屬設定檔自動載入

當訪問 Admin 群組時,系統自動載入 App/Admin/Conf/config.php 並與 App/Conf/config.php 合併(群組設定優先覆蓋)。適用於:

  • 不同資料庫連線、快取設定
  • 不同模板主題、語言包
  • 專屬中介層、權限設定

URL 存取方式

方式範例說明
PATHINFO/index.php/Admin/Index/index標準模式,需 mod_rewrite 隱藏 index.php
參數模式/index.php?g=Admin&m=Index&a=index相容模式,VAR_GROUP=g
U 函數生成U('Admin/Index/index')自動依 APP_GROUP_DEPR 生成

模板檔案分隔符 TMPL_FILE_DEPR

預設 / 產生 Tpl/Admin/Index/index.html;設為 _ 則為 Tpl/Admin/Index_index.html,減少目錄層級。同樣影響語言包檔案命名。

跨群組操作

  • Controller 中呼叫其他群組 Action:A('Admin/User')->listUsers() (ThinkPHP 3.2+)
  • Model 共用:所有群組預設共用 App/Common/Model/ 或 App/Lib/Model/。

適用場景與建議

  • 中大型專案,前後台邏輯差異大但共用核心資料模型。
  • 微服務遷移前過渡:單一代碼庫部署多個入口。
  • 避免過度細分群組,維護成本會上升。

延伸閱讀

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved