Laravel 5 中的配置


介紹

Laravel 的所有的配置文件都放在了 config 這個目錄的下面。每個選項都有介紹。

config
├── app.php
├── auth.php
├── cache.php
├── compile.php
├── database.php
├── filesystems.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php

0 directories, 11 files

安裝之后

命名應用

安裝完 Laravel 以后,你可能想要給應用起個名字。默認情況下, app 目錄是在 App 這個命名空間下面,Composer  會用 PSR-4-autoloading 標准自動去加載它。你可以通過 Artisan 的 app:name 命令去修改這個命名空間匹配你的應用的名字。

比如,你打算把應用命名為 “Movietalk”,在項目的根目錄下執行下面這個命令:

php artisan app:name Movietalk

上面的命令會修改一系列的文件里的內容。給應用起個名字是可選的,你可以使用默認的 App 這個命名空間。我建議先別在乎為命名應用程序,使用默認的 App 就行。

其它配置

Laravel 基本上不需要太多配置。你可以馬上去開發應用,不過你可以看一下 config/app.php 這個文件,上面的選項有說明。比如 timezone,locale 這些選項,可以根據自己所在的地區去配置。

安裝完 Laravel 以后,你需要配置一下本地的環境。

注意:在生產環境下,不要把 app.debug 設置成 true 。

權限

Web 服務器需要有可以寫入 storage 這個目錄的權限。

訪問配置的值

我們可以根據應用程序運行的環境去使用不同的配置。比如,你可能想在本地環境跟生產環境上使用不同的緩存引擎,這樣就可以去使用基於不同環境的配置。

為了讓這件事更容易,Laravel 使用了 Vance Lucas 的 DotEnv 這個庫。在全新安裝的 Laravel 里面,應用的根目錄下有個叫 .env.example 的文件。如果你用的是 Composer 安裝的 Laravel,這個文件會自動重命名成 .env,不然的話,你需要自己手工去重命名這個文件。

當應用接收到請求的時候,在這個 .env 文件里列出的所有的變量都會被載入到 $_ENV 這個 PHP 的超級全局變量里。你可以使用 env 幫手從這些變量里獲取到值。看一下 Laravel 的配置文件,你會發現很多地方都用到了這個 env 幫手。比如在 config/app.php 這個文件里:

'debug' => env('APP_DEBUG'),

'key' => env('APP_KEY', 'SomeRandomString'),

根據自己的需求去為本地與生產環境去修改這些環境變量。不要把這個 .env 文件提供到應用的版本倉庫里面,因為使用這個應用的不同的開發者或者服務器可能需要不同的環境配置。

如果你是跟一個團隊一起開發,可以在應用里包含這個 .env.example 文件。在上面放一些配置的示例,這樣團隊里的其它的開發者可以很清楚的看到使用你的應用需要去配置哪些環境變量。

訪問應用當前的環境

你可以通過 Application 實例上的 environment 這個方法訪問到當前應用的環境:

$environment = $app->environment();

你可以為 environment 方法傳遞參數來檢查是否匹配指定的環境:

if ($app->environment('local'))
{
    // 環境是 local
}

if ($app->environment('local', 'staging'))
{
    // 環境是 local 或者 staging... }

要得到應用的實例,可以使用 Service Container 來 Resolve  Illuminate\Contracts\Foundation\Applicationcontract 。如果你在一個 Service Provider 里面, 應用的實例可以通過 $this->app 得到。

應用的實例可以使用 App facade 里面的 app 幫手訪問到:

$environment = app()->environment();

$environment = App::environment();

配置緩存

使用 config:cache 這個 Artisan 命令,可以把應用里的所有的配置文件合並成一個文件,這樣 Laravel 在加載它的時候會更快一些。

維護模式

當應用在維護模式下,會用一個自定義的視圖顯示給所有的請求。一般在升級或者維護應用的時候,可以用這樣的方法暫時關閉應用。檢查維護模式包含在了 應用的默認的 middleware stack 里面。當應用在維護模式下的時候,HttpException 會扔出一個狀態碼是 503 的異常。

QQ20150208-1

使用 Artisan 的 down 命令可以打開應用的維護模式:

php artisan down

關閉維護維護,用的是  up 命令:

php artisan up

維護模式模板

默認的維護模式使用的模板是:resources/views/errors/503.blade.php

維護模式與隊列(Queues)

當應用在維護模式下,不會處理在隊列中的工作。關閉維護模式以后,隊列工作會像正常一樣去處理。

簡潔的URL

Apache

應用里面的 public 目錄下面有個 .htaccess 文件,它可以去掉 URL 里面的 index.php 。如果你打算用 Apache 去為 Laravel 應用提供服務,確定你啟用了 Apache 的 mod_rewrite 模塊。

如果自帶的 .htaccess 不管用,可以試試下面的代碼:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx

使用 Nginx 服務器,在網站的配置文件里,使用下面的指令可以啟用簡潔的 URL :

location / {
    try_files $uri $uri/ /index.php?$query_string;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM