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