配置

2018-12-17 10:39 更新

簡介

所有 Laravel 框架的配置文件都放置在 config 目錄下。 每個選項都有說明,因此你可以輕松地瀏覽這些文檔,并且熟悉這些選項配置。

           

完成安裝后

命名你的應用程序

在安裝 Laravel 后,你可以「命名」你的應用程序。默認情況下,app 的目錄是在 App 的命名空間 下,通過 Composer 使用 PSR-4 自動載入規(guī)范 自動加載。不過,你可以輕松地通過 Artisan 命令 app:name                來修改命名空間,以配合你的應用程序名稱。

舉例來說,假設你的應用程序叫做「 Horsefly 」,你可以從安裝的根目錄執(zhí)行下面的命令:

php artisan app:name Horsefly

           

重命名你的應用程序是完全可選的,你也可以保留原有的命名空間 App 。

其他配置

Laravel 幾乎不需配置就可以馬上使用。你可以自由的開始開發(fā)!然而,你可以瀏覽 config/app.php 文件和其他的文檔。你可能希望依據(jù)你的本機而做更改,文件包含數(shù)個選項如時區(qū)語言環(huán)境

一旦 Laravel 安裝完成,你應該同時 配置本機環(huán)境。

注意: 你不應該在正式環(huán)境中將 app.debug 配置為 true 。絕對!千萬不要!

           

權(quán)限

Laravel 框架某些目錄需要額外權(quán)限:storage 以及 vendor 目錄必須讓服務器有寫入權(quán)限。

           

取得配置值

你可以很輕松的使用 Config facade 取得你的配置值:

$value = Config::get('app.timezone');Config::set('app.timezone', 'America/Chicago');

           

你也可以使用 config 輔助方法:

$value = config('app.timezone');

           

           

環(huán)境配置

通常應用程序常常需要根據(jù)不同的執(zhí)行環(huán)境而有不同的配置值。例如,你會希望在你的本機開發(fā)環(huán)境上會有與正式環(huán)境不同的緩存驅(qū)動(cache driver),通過配置文件,就可以輕松完成。

Laravel 通過 DotEnv Vance Lucas 寫的一個 PHP 類庫。 在全新安裝好的 Laravel 里,你的應用程序的根目錄下會包含一個 .env.example 文件。如果你通過 Composer 安裝 Laravel,這個文件將自動被命名為 .env,不然你應該手動更改文件名。

當你的應用程序收到請求,這個文件所有的變量會被加載到 $_ENV 這個 PHP 超級全局變量里。你可以使用輔助方法 env 查看這些變量。事實上,如果你查看過 Laravel 配置文件,你會注意到幾個選項已經(jīng)在使用這個輔助方法!

根據(jù)你的本機服務器或者線上環(huán)境需求,你可以自由的修改你的環(huán)境變量。然而, 你的 .env 文件不應該被提交到應用程序的版本控制系統(tǒng),因為每個開發(fā)人員或服務器使用你的應用程序可能需要不同的環(huán)境配置。

如果你是一個團隊的開發(fā)者,不妨將 .env.example 文件包含到你的應用程序。通過例子配置文件里的預留值,你的團隊中其他開發(fā)人員可以清楚地看到執(zhí)行你的應用程序所需的哪些環(huán)境變量。

取得目前應用程序的環(huán)境

你可以通過 Application 實例中的 environment 方法取得目前應用程序的環(huán)境:

$environment = $app->environment();

           

你也可以傳遞參數(shù)至 environment 方法中,來確認目前的環(huán)境是否與參數(shù)相符合:

if ($app->environment('local')){
    // The environment is local}if ($app->environment('local', 'staging')){
    // The environment is either local OR staging...}

           

如果想取得應用程序的實例,可以通過服務容器Illuminate\Contracts\Foundation\Application contract 來取得。當然,如果你想在服務提供者中使用,應用程序?qū)嵗梢酝ㄟ^實例變量 $this->app 取得。

也能通過 App facade 或者輔助方法 app 取得應用程序?qū)嵗?/p>

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

           

           

配置緩存

為了讓你的的應用程序提升一些速度,你可以使用 Artisan 命令 config:cache 將所有的配置文件緩存到單一文件。通過命令會將所有的配置選項合并成一個文件,讓框架能夠快速加載。

通常來說,你應該將執(zhí)行 config:cache 命令作為部署工作的一部分。

           

維護模式

當你的應用程序處于維護模式時,所有的路由都會指向一個自定的視圖。當你要更新或維護網(wǎng)站時,「關閉」整個網(wǎng)站是很簡單的。維護模式會檢查包含在應用程序的默認中間件堆棧。如果應用程序處于維護模式,HttpException 會拋出 503 的狀態(tài)碼。

啟用維護模式,只需要執(zhí)行 Artisan 命令 down

php artisan down

           

關閉維護模式,請使用 Artisan 命令 up

php artisan up

           

維護模式的響應模板

維護模式響應的默認模板放在 resources/views/errors/503.blade.php。

維護模式與隊列

當應用程序處于維護模式中,將不會處理任何隊列工作。所有的隊列工作將會在應用程序離開維護模式后繼續(xù)被進行。

           

優(yōu)雅鏈接

Apache

Laravel 框架通過 public/.htaccess 文件來讓網(wǎng)址中不需要 index.php。如果你的服務器是使用 Apache ,請確認是否有開啟 mod_rewrite 模塊。

假設 Laravel 附帶的 .htaccess 文件在 Apache 無法生效的話,請嘗試下面的方法:

Options +FollowSymLinks
RewriteEngine On

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

           

If your web host doesn't allow the FollowSymlinks option, try replacing it with Options +SymLinksIfOwnerMatch.

Nginx

若使用 Nginx ,可以在你的網(wǎng)站配置中增加下面的配置,以開啟「優(yōu)雅鏈接」:

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

           

當然,如果你使用 Homestead 的話,優(yōu)雅鏈接會自動的幫你配置完成。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號