首頁  >  文章  >  php框架  >  laravel框架裡.env檔與config目錄下設定檔關係

laravel框架裡.env檔與config目錄下設定檔關係

齐天大圣
齐天大圣原創
2020-12-11 21:50:161896瀏覽

可能許多童鞋跟我一樣,在看文件時被.env檔和config目錄裡的設定檔搞混亂了,它們之間到底什麼關係。今天,我們一起來看看它們之前的關係吧。

.env檔與config目錄設定檔關係

首先,文件說laravel所有設定檔都保存在config目錄的檔案中。那麼根目錄下的.env檔到底是幹嘛的呢?我們打開看下.env檔案以及config/app.php這兩個檔案

# .env文件
APP_NAME=Laravel
……    
# app.php文件
'name' => env('APP_NAME', 'Larave'),

看到這,我基本上可以猜測出來大致意思了:如果config目錄下的設定檔設定項使用了env函數,那麼如果.env檔中配置了該選項,則使用.env檔裡的值,否則使用設定檔設定的預設值

接下來,來驗證我的猜測。首先寫下測試程式碼:

return config('app.name');

接著,將.env檔案的APP_NAME修改為boy,app.php檔案裡的預設值修改為girl

APP_NAME=boy
……
'name' => env('APP_NAME', 'girl'),

發現一個有趣的問題,測試程式碼回傳的結果還是Laravel。然後,我重新啟動了下php artisan serve,然後再刷新才出現結果為boy。這樣就驗證了我的猜測是對的,但有引出另一個推測:如果用到的配置值在.env檔裡,那麼修改.env檔裡的值不會立即有效,必須重啟才會有效

為了驗證我的另一個猜測,我將.env裡的APP_NAME那行給刪除了,然後重啟。測試的返回結果是girl。接著,我將girl修改為girl1,然後刷新瀏覽器,回傳值為girl1。所以我的結論驗證的正確的。

這裡總結下:

  • 如果config目錄下的設定檔設定項使用了env函數,那麼如果.env檔中配置了該選項,則使用. env檔裡的值,否則使用設定檔設定的預設值

  • 如果用到的設定值在.env檔裡,那麼修改.env檔裡的值不會立即有效,必須重啟php artisan serve才會有效

#

以上是laravel框架裡.env檔與config目錄下設定檔關係的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn