掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流
config方法用于設置項目的全局配置項(比如網站的名稱等一些基本設置可以用這個方法設置),在tp5中,可以直接設置一個數組到config中,然后依次調用即可。但在tp6中,在使用config取配置數據的時候,必須使用二級鍵值的方式,也就是寫入數據的時候必須是寫入多級數組。假設原來網站通用配置項為如下信息:
$conifg=['title'=>'網站標題:微構網絡官網','url'=>'http://www.althqafhm.com/',....];
在tp5中,我們可以直接使用config助手函數寫入配置數據:
config($config);
然后取網站標題,可以直接這樣寫:
config('title');
但在tp6中是不能夠這樣寫,在寫入配置數據的時候也可以跟tp6一樣,但取數據這樣取是不能取到預期數據的。而應該這樣寫入(規(guī)范來講,tp5也應該這樣):
config('config',$config);
取數據這樣寫:
config('config.title');
我們可以對比一下tp5和tp6自帶的config助手函數的源碼就能看出來為什么要這樣,首先是tp5的:
function config($name = '', $value = null, $range = ''){ if (is_null($value) && is_string($name)) { return 0 === strpos($name, '?') ? Config::has(substr($name, 1), $range) : Config::get($name, $range); } else { return Config::set($name, $value, $range); } }
tp6是這樣的:
function config($name = '', $value = null){ if (is_array($name)) { return Config::set($name, $value); } return 0 === strpos($name, '?') ? Config::has(substr($name, 1)) : Config::get($name, $value); }
其實很類似,只是把判斷順序調換了,但這樣就能夠嚴格限制開發(fā)者使用config寫入配置信息的時候必須寫入多級數組,這樣跟tp框架自帶的一些配置項相對應,tp6本身比tp5在開發(fā)規(guī)范上也更加嚴謹。如下就是config助手方法獲取的一些自帶的配置數據,每種類型的配置數據,在一個數組中。
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流