配置

2018-12-17 10:39 更新

簡(jiǎn)介

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

           

完成安裝后

命名你的應(yīng)用程序

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

舉例來(lái)說(shuō),假設(shè)你的應(yīng)用程序叫做「 Horsefly 」,你可以從安裝的根目錄執(zhí)行下面的命令:

php artisan app:name Horsefly

           

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

其他配置

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

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

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

           

權(quán)限

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

           

取得配置值

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

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

           

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

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

           

           

環(huán)境配置

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

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

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

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

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

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

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

$environment = $app->environment();

           

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

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

           

如果想取得應(yīng)用程序的實(shí)例,可以通過(guò)服務(wù)容器Illuminate\Contracts\Foundation\Application contract 來(lái)取得。當(dāng)然,如果你想在服務(wù)提供者中使用,應(yīng)用程序?qū)嵗梢酝ㄟ^(guò)實(shí)例變量 $this->app 取得。

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

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

           

           

配置緩存

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

通常來(lái)說(shuō),你應(yīng)該將執(zhí)行 config:cache 命令作為部署工作的一部分。

           

維護(hù)模式

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

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

php artisan down

           

關(guān)閉維護(hù)模式,請(qǐng)使用 Artisan 命令 up

php artisan up

           

維護(hù)模式的響應(yīng)模板

維護(hù)模式響應(yīng)的默認(rèn)模板放在 resources/views/errors/503.blade.php。

維護(hù)模式與隊(duì)列

當(dāng)應(yīng)用程序處于維護(hù)模式中,將不會(huì)處理任何隊(duì)列工作。所有的隊(duì)列工作將會(huì)在應(yīng)用程序離開(kāi)維護(hù)模式后繼續(xù)被進(jìn)行。

           

優(yōu)雅鏈接

Apache

Laravel 框架通過(guò) public/.htaccess 文件來(lái)讓網(wǎng)址中不需要 index.php。如果你的服務(wù)器是使用 Apache ,請(qǐng)確認(rèn)是否有開(kāi)啟 mod_rewrite 模塊。

假設(shè) Laravel 附帶的 .htaccess 文件在 Apache 無(wú)法生效的話,請(qǐng)嘗試下面的方法:

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)站配置中增加下面的配置,以開(kāi)啟「優(yōu)雅鏈接」:

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

           

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)