TP v5中环境变量在项目中的应用
環(huán)境變量,顧名思義就是在不同的系統(tǒng)環(huán)境,同一個(gè)變量的值可以有所不同。
如開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境與正式環(huán)境下,數(shù)據(jù)庫(kù)配置、靜態(tài)資源文件Url前綴、緩存、各種key等配置都不相同,對(duì)于提交到倉(cāng)庫(kù)中的代碼,理論上不應(yīng)該將與環(huán)境相關(guān)的這些參數(shù)傳進(jìn)去。但怎樣實(shí)現(xiàn)有所區(qū)分,各自維護(hù)呢?沒(méi)有經(jīng)歷過(guò)團(tuán)隊(duì)協(xié)作開(kāi)發(fā)和利用工具自動(dòng)化部署代碼的人應(yīng)該不會(huì)理解其中的小痛苦。環(huán)境變量就是一個(gè)比較好的實(shí)現(xiàn)方式了。
TP的v5中利用PHP對(duì)環(huán)境變量的讀取以及模擬環(huán)境變量的支持,可以很好的實(shí)現(xiàn)這種需求。
以下為引用http://www.kancloud.cn/manual/thinkphp5/189989:
在開(kāi)發(fā)過(guò)程中,可以在應(yīng)用根目錄下面的.env來(lái)模擬環(huán)境變量配置,.env文件中的配置參數(shù)定義格式采用ini方式,例如:
app_debug = true app_trace = true如果你的部署環(huán)境單獨(dú)配置了環(huán)境變量,那么請(qǐng)刪除.env配置文件,避免沖突。
使用下劃線分割定義配置參數(shù)名:
database_username = root database_password = 123456或者使用
[database] username = root password = 123456獲取環(huán)境變量的值可以使用下面的兩種方式獲取:
Env::get('database.username'); Env::get('database.password'); // 同時(shí)下面的方式也可以獲取 Env::get('database_username'); Env::get('database_password');可以支持默認(rèn)值,例如:
// 獲取環(huán)境變量 如果不存在則使用默認(rèn)值root Env::get('database.username','root');可以直接在應(yīng)用配置中使用環(huán)境變量,例如:
return ['hostname' => Env::get('hostname','127.0.0.1'), ];環(huán)境變量中設(shè)置的app_debug和app_trace參數(shù)會(huì)自動(dòng)生效(優(yōu)先于應(yīng)用的配置文件),其它參數(shù)則必須通過(guò)Env::get方法才能讀取。
環(huán)境變量的配置方法在此不詳述了。
轉(zhuǎn)載于:https://www.cnblogs.com/x3d/p/6603441.html
總結(jié)
以上是生活随笔為你收集整理的TP v5中环境变量在项目中的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基础面试总结
- 下一篇: 八皇后问题 (递归 搜索)