鍍金池/ 教程/ PHP/ 配置
Laravel Cashier
Eloquent ORM
HTTP 響應(yīng)
發(fā)行說明
擴展包開發(fā)
HTTP 控制器
事件
擴展框架
Contracts
開發(fā)
配置
表單驗證
錯誤與日志
Hashing
貢獻指南
郵件
Session
遷移與數(shù)據(jù)填充
查詢構(gòu)造器
Redis
升級向?qū)?/span>
概覽
緩存
服務(wù)提供者
Envoy 任務(wù)執(zhí)行器
隊列
單元測試
服務(wù)容器
文件系統(tǒng) / 云存儲
認證
請求的生命周期
加密
模板
視圖 (View)
Laravel Homestead
Laravel 安裝指南
介紹
Command Bus
分頁
輔助方法
應(yīng)用程序結(jié)構(gòu)
HTTP 路由
HTTP 請求
基本用法
本地化
HTTP 中間件
結(jié)構(gòu)生成器
Facades
Laravel Elixir

配置

簡介

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

完成安裝后

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

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

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

php artisan app:name Horsefly

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

其他配置

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

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

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

權(quán)限

Laravel 框架有一個目錄需要額外權(quán)限:storage 目錄必須讓服務(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)境而有不同的配置值。例如,你會希望在你的本機開發(fā)環(huán)境上會有與正式環(huán)境不同的緩存驅(qū)動(cache driver),通過配置文件,就可以輕松完成。

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

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

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

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

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

你可以通過 Application 實例中的 environment 方法取得目前應(yīng)用程序的環(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...
}

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

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

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

$environment = App::environment();

配置緩存

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

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

維護模式

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

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

php artisan down

關(guān)閉維護模式,請使用 Artisan 命令 up

php artisan up

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

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

維護模式與隊列

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

優(yōu)雅鏈接

Apache

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

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

Options +FollowSymLinks
RewriteEngine On

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

Nginx

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

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

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

上一篇:開發(fā)下一篇:Laravel Homestead