接下來這篇比較短,主要在介紹一般我們的設定相關資訊(不是之前提到過的環境設定.env)
config 資料夾是laravel預設會有的資料夾,裡面放的是開發中需要用到的文件檔案,laravel 框架的設定文件也在其中
4.2 的版本
//取得config
$timezone = Config::get('app.timezone');
$timezone = Config::get('app.timezone', 'UTC'); //設定預設值
//在執行期間修改設定值
Config::set('app.timezone', 'America/Chicago');
5.0的版本
有包含4.2的方法,另外也有提供之後5.2有的輔助方法$timezone = config('app.timezone');
5.2之後的版本
//取得config
$timezone = config('app.timezone');
//在執行期間修改設定值
config(['app.timezone' => 'America/Chicago']);
這個動作一般開發的話因為設定檔常變動的原因,通常不會使用,上線部署的時候才比較會用到。
使用的原因是為了讓應用程式提升一些速度,下 php artisan config:cache
指令將所有的設定檔暫存到單一檔案。它會將所有的設定選項合併成一個檔案,讓框架能夠快速載入。
在APP_DEBUG=true
又沒有catch Excpetion時,debug頁面會顯示所有的環境變數,這時候可以在config/app.php
設定debug_blacklist
如果同時在env & server/request data有設定的話,_ENV 跟 _SERVER都要記得設定
return [
// ...
'debug_blacklist' => [
'_ENV' => [
'APP_KEY',
'DB_PASSWORD',
],
'_SERVER' => [
'APP_KEY',
'DB_PASSWORD',
],
'_POST' => [
'password',
],
],
];
結論: 在這邊會想提到config的原因是,雖然他的用法很簡單,但是在新舊版本轉換的時候會有用法上的差異,另外其實像一般在開發時候有另外定義到一些規則也可以放在這邊,例如自定義的狀態等等的。
參考連結:
Laravel config: