本文總結下5.2最新版本在配置類別設計的調整。
取消慣例設定
慣例設定檔(convention.php)在最新版本中已經正式取消,在此之前已經從核心套件移至應用程式倉庫(的根目錄下)。由於預設配置已經全部作為相關類別庫的預設屬性配置,慣例設定檔已經不再需要。
從方便專案配置的角度,應用倉庫的config目錄下面提供了預設的配置,修改起來更清晰,可以直接修改配置。
取消動態設定
配置類別建議僅用於讀取而不要動態設置,以便於將來統一使用配置中心管理。如果使用了第三方的配置擴充的話(例如Yaconf)是不支援設定配置的。因此組態類別不再提供對某個設定參數的動態設定方法,但出於部分資料庫配置的需求,保留了批次某個設定檔的用法。
下面用法不再支援
Config::set('app.app_name', 'think');
保留了批次(合併)設定用法
Config::set([ 'app_name' => 'think', 'default_timezone' => 'Asia/Shanghai', ], 'app');
統一配置讀取操作
取消了先前讀取的一級配置的pull方法,新版統一使用get方法讀取所有的配置值,系統會自動判斷。
同時取消了設定參數的預設前綴(一級配置),所有不帶點號的設定參數都認為是讀取一級配置。
// 读取app配置 Config::get('app'); // 读取具体配置必须改为 Config::get('app.app_name'); // 不再支持原来的读取 Config::get('app_name');
Config類別不再支援數組方式讀取
Config類別不再使用ArrayAccess接口,因此不再支援數組方式讀取。
路由和URL配置獨立
路由和URL請求相關的設定參數獨立為route.php設定文件,而不再使用app.php設定檔。
PHP中文網有大量免費的ThinkPHP入門教學,歡迎大家來學習。
本文轉自:https://blog.thinkphp.cn/962855
以上是ThinkPHP5.2:配置類別的變化的詳細內容。更多資訊請關注PHP中文網其他相關文章!