我不知道大家有沒有考慮過這樣一個問題:既然有設定檔了,那麼這個.env檔的作用是什麼呢?
你一定有這樣的經驗吧,本地環境和伺服器環境是不同的,有些設定值就會不一樣,例如資料庫設定資訊不同、網域名稱不同等等。這樣就會導致一些問題,如果你使用了版本控制系統,那麼伺服器端拉取了最新的程式碼,服務端的設定檔就會變成本地開發環境的了。然後你需要一個個的去看,然後去修改,是不是非常的麻煩!還有可能你本地的設定資訊會被其他開發夥伴看到(可能你本地的資料庫資訊也很重要的話,你就不希望其他人知道)
.env檔案就是為了解決這樣的問題的。我們可以將伺服器和本機環境設定檔一致的,都放在設定檔中,將不同的設定檔及那些敏感的資訊則放在.env檔中。 另外注意,不將.env檔案放在版本控制系統中。
另外你應該注意到,根目錄下還有一個.env.example檔案。這個檔案一般是建議放在版本控制系統中的,它是為了讓其他開發者知道,你應該將這個檔案複製一份,並將其名稱修改為.env。然後將裡面的數值依照自己的環境設定。
如果你跟我一樣,有三種不同的環境:開發環境、測試環境、線上環境。那你也應該再建立一個.env.testing檔。當執行 PHPUnit 測試或以 --env=testing 為選項執行 Artisan 命令時,該檔案將覆蓋 .env 檔案中的值。
超全域變數$_ENV
.env檔案了列出的所有變量,會被載入到php的超全域變數$_ENV中,可以透過該變數檢索對應的值。
確定目前系統環境
應用程式目前的所處環境是由.env檔案裡的APP_ENV決定的。你可以用App::environment()方法來取得該選項的值。如:
if ('local' == App::environment()) { // 本地环境 }
以上是laravel中.env檔的作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!