站內搜尋

Saturday, January 11, 2020

[Laravel] 環境變數、組態檔 設定與取用 routes/web.php

Laravel 敏感性的環境變數都是放在根目錄的 .env (如: DB的帳密、API的金鑰),以避免被提交到版本管理系統(如: git)。
如果我們想要設定一些非敏感性的環境變數,可以在根目錄 config/ 檔案夾下建立組態檔(如: config.php),內容如下:
config/config.php
<?php
return [
    'company' => [
        'name' => '不可思議股份有限公司',
        'tel' => '02-23457890',
    ], 
    //所有因環境而異的組態變數 都應放在.env 檔案中 而 .env 不應被提交到git
    'env' => [
        'DB_PASSWORD' => env('DB_PASSWORD'),
    ], 
];

取用方式如下:
routes/web.php
Route::get('/', function () {
    echo config('config.company.name')
    echo config('config.env.DB_PASSWORD');
    echo env('DB_PASSWORD');
});

從第一項可以看出取用方式是以句點(.)分隔,config("檔名.組態鍵.後續鍵") 這種架構來取得組態設定值。
從第二項可以看出也可以從自訂組態檔間接取得 .env 的環境變數值。
從第三項可以看出也能直接取用 .env 的環境變數。

No comments:

Post a Comment