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

ThinkPHP 公共配置與專案配置合併策略

     編輯:PHP 綜合知識

場景痛點

多專案部署時,各專案配置檔常包含大量重複項目(資料庫、快取、URL 設定等),維護成本高。

解決方案:array_merge 合併配置陣列

利用 PHP 配置檔 return array() 特性,在專案配置中引入公共配置:

<?php
// 專案配置檔:Application/Home/Conf/config.php
$config = [
    // 專案專屬配置
    'DEFAULT_CONTROLLER' => 'Index',
    'DEFAULT_ACTION'     => 'index',
];

// 合併公共配置(根目錄 Conf/config.php)
return array_merge(include './Conf/config.php', $config);

目錄結構範例

項目根目錄/
├── Conf/
│   └── config.php          # 公共配置(資料庫、快取、通用常數)
├── Application/
│   ├── Home/
│   │   └── Conf/config.php # 專案配置,合併公共配置
│   └── Admin/
│       └── Conf/config.php # 另一專案配置,同樣合併

優勢

  • DRY 原則: 公共設定單一定義,多專案共享
  • 覆蓋機制: 專案配置同鍵值會覆蓋公共配置,靈活彈性
  • 零框架侵入: 純 PHP 語法,不依賴 ThinkPHP 特定 API

注意事項

  • 陣列合併為淺層合併,巢狀陣列不會遞歸合併(如需深度合併請自行實作或用 array_merge_recursive)
  • 公共配置路徑建議使用絕對路徑或 __DIR__ 避免包含失敗
  • 生產環境建議將合併後結果快取為靜態檔案,減少 include 開銷

此技巧同樣適用於 Laravel、CodeIgniter 等其他 PHP 框架的配置管理。

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