本文總結(jié)下5.2最新版本在配置類設(shè)計方面的調(diào)整。
取消慣例配置
慣例配置文件(convention.php)在最新版本中已經(jīng)正式取消,在此之前已經(jīng)從核心包移動到應(yīng)用倉庫(的根目錄下)。由于默認配置已經(jīng)全部作為相關(guān)類庫的默認屬性配置,慣例配置文件已經(jīng)不再需要。
從方便項目配置的角度,應(yīng)用倉庫的config目錄下面提供了默認的配置,修改起來更清晰,可以直接修改配置。
立即學(xué)習“PHP免費學(xué)習筆記(深入)”;
取消動態(tài)設(shè)置
配置類建議僅用于讀取而不要動態(tài)設(shè)置,便于將來統(tǒng)一使用配置中心管理。如果使用了第三方的配置擴展的話(例如Yaconf)是不支持設(shè)置配置的。因此配置類不再提供對某個配置參數(shù)的動態(tài)設(shè)置方法,但出于部分數(shù)據(jù)庫配置的需求,保留了批量某個配置文件的用法。
下面用法不再支持
Config::set('app.app_name',?'think');
保留了批量(合并)設(shè)置用法
Config::set([ ????'app_name'?=>?'think', ????'default_timezone'?=>?'Asia/Shanghai', ],?'app');
統(tǒng)一配置讀取操作
取消了之前的讀取一級配置的pull方法,新版統(tǒng)一使用get方法讀取所有的配置值,系統(tǒng)會自動判斷。
同時取消了配置參數(shù)的默認前綴(一級配置),所有不帶點號的配置參數(shù)都認為是讀取一級配置。
//?讀取app配置 Config::get('app'); //?讀取具體配置必須改為 Config::get('app.app_name'); //?不再支持原來的讀取 Config::get('app_name');
Config類不再支持數(shù)組方式讀取
Config類不再使用ArrayAccess接口,因此不再支持數(shù)組方式讀取。
路由和URL配置獨立
路由和URL請求相關(guān)的配置參數(shù)獨立為route.php配置文件,而不再使用app.php配置文件。
PHP中文網(wǎng)有大量免費的ThinkPHP入門教程,歡迎大家來學(xué)習。