掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
config方法用于設(shè)置項(xiàng)目的全局配置項(xiàng)(比如網(wǎng)站的名稱等一些基本設(shè)置可以用這個(gè)方法設(shè)置),在tp5中,可以直接設(shè)置一個(gè)數(shù)組到config中,然后依次調(diào)用即可。但在tp6中,在使用config取配置數(shù)據(jù)的時(shí)候,必須使用二級(jí)鍵值的方式,也就是寫入數(shù)據(jù)的時(shí)候必須是寫入多級(jí)數(shù)組。假設(shè)原來(lái)網(wǎng)站通用配置項(xiàng)為如下信息:
$conifg=['title'=>'網(wǎng)站標(biāo)題:微構(gòu)網(wǎng)絡(luò)官網(wǎng)','url'=>'http://www.askgenny.com/',....];
在tp5中,我們可以直接使用config助手函數(shù)寫入配置數(shù)據(jù):
config($config);
然后取網(wǎng)站標(biāo)題,可以直接這樣寫:
config('title');
但在tp6中是不能夠這樣寫,在寫入配置數(shù)據(jù)的時(shí)候也可以跟tp6一樣,但取數(shù)據(jù)這樣取是不能取到預(yù)期數(shù)據(jù)的。而應(yīng)該這樣寫入(規(guī)范來(lái)講,tp5也應(yīng)該這樣):
config('config',$config);
取數(shù)據(jù)這樣寫:
config('config.title');
我們可以對(duì)比一下tp5和tp6自帶的config助手函數(shù)的源碼就能看出來(lái)為什么要這樣,首先是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); }
其實(shí)很類似,只是把判斷順序調(diào)換了,但這樣就能夠嚴(yán)格限制開發(fā)者使用config寫入配置信息的時(shí)候必須寫入多級(jí)數(shù)組,這樣跟tp框架自帶的一些配置項(xiàng)相對(duì)應(yīng),tp6本身比tp5在開發(fā)規(guī)范上也更加嚴(yán)謹(jǐn)。如下就是config助手方法獲取的一些自帶的配置數(shù)據(jù),每種類型的配置數(shù)據(jù),在一個(gè)數(shù)組中。
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流