iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 19
0
Software Development

30天快速上手Laravel系列 第 19

Day19-[Laravel 資料夾目錄與內容] Config

  • 分享至 

  • xImage
  •  

介紹

接下來這篇比較短,主要在介紹一般我們的設定相關資訊(不是之前提到過的環境設定.env)

config 資料夾

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 指令將所有的設定檔暫存到單一檔案。它會將所有的設定選項合併成一個檔案,讓框架能夠快速載入。

在debug 的時候隱藏部分環境變數

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:


上一篇
Day18-[Laravel 資料夾目錄與內容] Middleware
下一篇
Day20-[Laravel 資料夾目錄與內容] Artisan command 初探
系列文
30天快速上手Laravel30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言