1. 程式人生 > >Laravel 中的環境與配置

Laravel 中的環境與配置

Laravel 5 安裝根目錄下 .env 檔案是配置檔案。開啟 config/database.php 可以看到,它返回一個PHP陣列,該配置檔案提供了各種資料庫可能用到的配置。connections 裡包含了資料庫配置。修改'default' => 'mysql',引數可以選擇需要使用的資料庫。

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE'
, 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine'
=> null, ],

上述為myql預設配置項,env()方法是用來讀取.env檔案中的配置項,也可以通過直接用’password’ =>’password’來配置,但這樣缺少安全性,如果把專案放在github,會被直接看到。所以可以通過肚臍。env配置檔案,然後把。env檔案設定為不提交,這樣安全性就提高了。

在根目錄 .gitignore檔案,可以檢視

/vendor
/node_modules
/public/storage
Homestead.yaml
Homestead.json
.env

讀取環境配置

  • 在在Application例項中,可以通過environment()

    方法來讀取目前應用程式的環境配置:

  • $environment = $app->environment();
  • 也可以傳遞引數至 environment() 方法中,來確認目前的環境是否與引數相符合:

  • if ($app->environment('local'))
    {
      // The environment is local
    }
    
    if ($app->environment('local', 'staging'))
    {
      // The environment is either local OR staging...
    }
  • 或通過 App facade 或者輔助方法 app() 取得應用程式例項:

  • $environment = app()->environment();
    $environment = App::environment();

維護模式

當應用程式處於維護模式時,所有的路由都會指向一個自定的檢視。當你要更新或維護網站時,「關閉」整個網站是很簡單的。如果應用程式處於維護模式,HttpException 會丟擲 503的狀態碼。維護模式響應的預設模板放 resources/views/errors/503.blade.php

//啟用維護模式,只需要執行 Artisan 命令 down:
php artisan down

//關閉維護模式,使用 Artisan 命令 up:
php artisan up