本文主要介紹了框架使用env檔案去載入其它類型設定文件,之前有一文介紹的是工廠模式載入設定檔。
九、如何讓框架載入其它類型的設定檔使用env檔
在初始化應用和模組中有一個屬性是configExt,這個屬性就是檔案的擴充
去找這個屬性是在哪裡設定的。
根據config設定檔載入流程,可以很清楚的看到init
方法的上一層是初始化應用,也就是initialize
方法。
那麼這個屬性肯定是在init
方法之前就已經提前設定好了的。
回到init
方法的上一層initialize
就直接可以看到這個值的設定。

這個值是從env的環境變數中取得的,如果沒有則預設為php,所以就需要建立一個env的文件。
並且給一個預設值為yaml
這裡給大家看一下變化,在5.1.34 LTS版本的時候存在一個bug,咔咔目前使用的是5.1.39 LTS 這個問題已經修復了。
這段程式碼相信都可以看出來,它是先對configExt進行了設定預設值,然後在去載入環境變數設定檔。
那麼載入這個環境變數的這段程式碼就毫無任何意義,configExt的值永遠都是.php
就算在env檔案裡邊做了設定也不會取得。
在先前在config設定檔中加入了一個yaml的設定檔
那麼這個時候就可以使用config類別來取得yaml類型檔案的設定了。
測試一下沒有任何問題,資料是可以出來的。
但是實際專案中可不敢這麼整啊!如果要把configExt
這個值設定到環境變量,設定的是什麼型別就需要把config目錄下的所有設定檔全部轉換成對應類型。
例如configExt設定的為.ini ,則需要把config目錄下的所有檔案改為ini檔案形式
這塊內容只是針對閱讀原始碼後一個運用而已,實際專案中不要這樣使用,因為在tp框架中所有的設定檔都是PHP類型的。
如果改為它類型的話,就需要修改框架中所有的配置文件,這種事情能不干就不哈!
堅持學習、堅持寫博、堅持分享是咔咔從業以來一直所秉持的信念。希望在偌大互聯網中咔咔的文章能帶給你一絲絲幫助。我是喀喀,下期見。
以上是ThinkPHP之不研究源碼你怎麼會知道env檔的作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版
好用的JavaScript開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具