配置文件Config
Config文件包含:2個屬性,7個方法繁仁。其中2個屬性為私有靜態(tài)屬性,外部不可訪問归园。7個方法為公有靜態(tài)方法黄虱,外部可以直接用類名訪問,不需要實(shí)例化庸诱。
配置文件Config目錄
三類配置目錄:默認(rèn)配置目錄捻浦,自定義配置目錄,擴(kuò)展配置目錄桥爽。無論采用哪一種配置目錄朱灿,最終都會于應(yīng)用配置文件合并輸出。系統(tǒng)application下的config.php與框架thinkphp下的convention.php這兩個文件為默認(rèn)文件钠四,通常建議不要修改盗扒。
1.默認(rèn)配置目錄
應(yīng)用配置:application目錄
模塊配置:application/模塊目錄
2.自定義配置目錄
入口文件中添加:CONF_PATH常量
按常量約定創(chuàng)建對應(yīng)配置目錄
3.擴(kuò)展配置目錄
在application/模塊目錄中創(chuàng)建extra目錄
文件名->配置名跪楞,內(nèi)容->配置名
配置文件Config格式
四種配置文件格式:數(shù)組,ini侣灶,xml甸祭,json。其中數(shù)組較為常用褥影,無論哪一種格式配置文件池户,最終都是以Array數(shù)組鍵值對的方式返回。
場景配置
場景配置凡怎,可以看到文件級的動態(tài)配置校焦,它為框架的使用者,提供了一種在特殊的環(huán)境下统倒,簡便的解決方案寨典。
1.修改應(yīng)用或模塊配置文件中的:‘a(chǎn)pp_status’,將值設(shè)置為檐薯,如:home凝赛;
2.在與該配置文件同級的目錄下,創(chuàng)建與場景名稱同名的配置文件坛缕,如home.php墓猎;
3.再次執(zhí)行,將會自動根據(jù)場景配置文件(home.php)赚楚,更新當(dāng)前應(yīng)用的配置文件毙沾。
模塊配置
為降低應(yīng)用的復(fù)雜度,提供安全性宠页,絕大多數(shù)情況下左胞,模塊配置用得并不多,但如果你有個性化需求時举户,使用模塊設(shè)置會方便很多烤宙。
1.模塊可以有自己的配置文件,獨(dú)立配置文件和場景配置文件俭嘁;
2.模塊配置的優(yōu)先級高于應(yīng)用配置躺枕,相同配置項(xiàng)會覆蓋掉應(yīng)用匯總的配置項(xiàng);
3.模塊默認(rèn)配置文件名是:config.php供填;
4.模塊默認(rèn)獨(dú)立配置文件有二個:database.php拐云,validate.php;
5.模塊場景配置文件名近她,根據(jù)‘a(chǎn)pp_status’參數(shù)值確定叉瘩。
其它位置的配置文件
加載任意位置,非php格式的配置文件粘捎,不僅提高了靈活性薇缅,還為其它應(yīng)用提供了一個配置接口危彩。
1.如果配置文件是php文件
\think\Config::load(APP_PATH.'完整文件名'); //使用絕對路徑加載,默認(rèn)返回?cái)?shù)組
2.如果配置文件是其它格式:ini捅暴,xml恬砂,json等
\think\Config::parre(APP_PATH.'完整文件名'.'ini'); //使用絕對路徑加載,默認(rèn)返回?cái)?shù)組
注意:讀取其它位置的配置文件蓬痒,都是動態(tài)加載泻骤,需要在控制器中的方法中執(zhí)行加載。
讀取配置項(xiàng)
一.讀取配置項(xiàng)
1.類方法:Config::get('配置參數(shù)')梧奢,參數(shù)為空則是獲取全部配置項(xiàng)狱掂;
2.使用助手函數(shù):config('配置參數(shù)'),參數(shù)說明與Config::get()玩完一樣亲轨;
3.讀取二級配置項(xiàng)趋惨,參數(shù)與值之間用.(點(diǎn))進(jìn)行連接。
二.判斷某配置項(xiàng)是否存在
1.類方法:Config::has('配置參數(shù)')惦蚊; //返回布爾值器虾;
2.助手函數(shù):config('?配置參數(shù)');//返回布爾值蹦锋。
設(shè)置配置項(xiàng)
在控制器的方法中兆沙,動態(tài)設(shè)置配置項(xiàng),可以臨時改變某個配置項(xiàng)莉掂,優(yōu)先級也是最高
一.類方法:\think\Config.php
1.逐個配置:Config::set('配置參數(shù)',參數(shù)值);
2.批量配置:Config::set('數(shù)組');
3.二級配置:Config::set('配置參數(shù)','數(shù)組')葛圃。
二.助手函數(shù):config()
1.逐個配置:config('配置參數(shù)','參數(shù)值');
2.批量配置:config('數(shù)組');
3.二級配置:config('配置參數(shù)','數(shù)組')。
創(chuàng)建獨(dú)立配置文件
將應(yīng)用模塊中的部分可歸類的配置獨(dú)立出來憎妙,單獨(dú)創(chuàng)建配置文件來加載库正,可以使我們的祝配置文件加載更快,執(zhí)行效率更高厘唾。
1.用戶自定義的獨(dú)立配置文件必須放在應(yīng)用或模塊下面的extra目錄下面褥符;
2.默認(rèn)獨(dú)立配置文件dtabase.php[數(shù)據(jù)庫],validate.php[驗(yàn)證規(guī)則]既可以放在extra下面抚垃,也可以放在與應(yīng)用或模塊同級的目錄下面属瓣。如果放在extra目錄下面,優(yōu)先級大于放在應(yīng)用或模塊的同級目錄下面讯柔;
3.文件名就是配置項(xiàng)名稱,文件返回一個數(shù)組护昧。
模塊配置優(yōu)先級
框架配置分級管理魂迄,可以最大限度的滿足用戶對應(yīng)用運(yùn)行環(huán)境的個性化需求,配置優(yōu)先級的概念非常重要惋耙。
慣例配置(convention.php捣炬,config.php) < 應(yīng)用配置(應(yīng)用配置 < 獨(dú)立配置 < 場景配置) < 模塊配置(應(yīng)用配置 < 獨(dú)立配置 < 場景配置) < 動態(tài)配置(set)
配置項(xiàng)的作用域
配置項(xiàng)的作用域熊昌,類似于類或函數(shù)的命名空間,就是配置項(xiàng)對用戶的可見性湿酸,隨著應(yīng)用規(guī)模的擴(kuò)大婿屹,配置作用域的效果就越明顯。
1.作用域與命名空間的概念類似推溃,就是配置項(xiàng)的可見范圍昂利;
2.作用域的在表現(xiàn)形式上與二維數(shù)組是一樣的;
3.切換作用域使用:Config::range('作用域');
4.可以將獨(dú)立配置項(xiàng)歸納到作用域進(jìn)行管理铁坎,也可以動態(tài)設(shè)置蜂奸。
ThinkPHP5配置Config(原文地址)
結(jié)束。
你們的支持也是我前進(jìn)的動力硬萍,非常感謝支持扩所!