Laravel - Getting Started - Configuration

# Introduction

學習一個框架, Ray 的想法是, 在深入理解底層實作的原理之前, 應該先知道這個框架的 使用方法; 先學習怎麼使用這個前人造的輪子, 再學習怎麼樣一個輪子。
所以本篇文章重點在於細讀官方文件, 並將內容理解後以 Q&A 的方式記錄下來, 加速學習以及查詢。




# Environment Configuration

如果使用 Composer 安裝, 專案內會有 .env 檔案嗎? 會哦, 會自動被 cp 一份
當執行 PHPUnit 時, 如何替換掉 .env? 建立 .env.testing

# Environment Variable Types

在 Laravel .env 檔中, 如果 value 是含有空白的字串, 該怎麼做?
<?php
APP_NAME="My Application"

# Determining The Current Environment

以下的 Laravel example code 的意思是?
  • Example:
    <?php
    if (App::environment('local')) {
    // The environment is local
    }

    if (App::environment(['local', 'staging'])) {
    // The environment is either local OR staging...
    }
  • Answer:
    判斷目前環境, 並做相對應的事

# Hiding Environment Variables From Debug Pages

當 Laravel 的環境變數 APP_DEBUG 為 true 時, 默認會輸出所有的環境變數以及內容, 假如我有一些變數不想顯示, 我可以怎麼做?
<?php
// 修改 config/app.php 檔案中的 debug_blacklist
return [

// ...

'debug_blacklist' => [
'_ENV' => [
'APP_KEY',
'DB_PASSWORD',
],

'_SERVER' => [
'APP_KEY',
'DB_PASSWORD',
],

'_POST' => [
'password',
],
],
];

# Accessing Configuration Values

在 Laravel 中, 若要取得 config 的值, 可以怎麼做?
<?php
$value = config('app.timezone');
在 Laravel 中, 若要在程式碼中設定 config 的值, 可以怎麼做?
<?php
config(['app.timezone' => 'America/Chicago']);

# Configuration Caching

php artisan config:cache 做了什麼事? 將所有的 config 檔案 cache 成一份檔案, 以加速運行
php artisan config:cache 建議在 production 還是 develop 運行? production
運行 php artisan config:cache 時, 會否讀 .env 檔? 不會哦
所有 Laravel 的設定檔都放在哪裡? config 資料夾底下

# Maintenance Mode

在 Laravel 中, 如果要啟動維護模式, 可以怎麼做?
php artisan down
在 Laravel 中, 如果要啟動維護模式, 並且客制 message 以及 retry 可以怎麼做?
php artisan down --message="Upgrading Database" --retry=60
在 Laravel 中, 以下的 –retry 代表什麼意思?
php artisan down --message="Upgrading Database" --retry=60
會設定一個 `Retry-After` HTTP header, 目前大概只有 Google Bot 會特別去偵測, 在你指定的 downtime 時間不會去爬你的網站
以下的 Laravel example command 的意思是?
  • Example:
    php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16
  • Answer:
    在維護模式中, 僅僅對指定的 IP 開放
在 Laravel 維護模式中, queue job 還會被處理嗎?

不會哦


# Additional

Laravel 的時區設定檔位置在?
config 中的 app.php
Laravel 當中, 哪裡可以設定 queue 的名字?
config 資料夾中的 queue
<未完成>利用 Stackdriver APM 來增進網站可靠性以及排除錯誤 Laravel - Eloquent ORM - API Resources

留言

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×