跟我學(xué)Laravel之配置Laravel
當(dāng)你需要在運行時訪問配置項時,可以使用Config類:
獲取一個配置項的值**
Config::get('app.timezone');
如果配置項不存在,你還可以指定返回的默認值:
$timezone = Config::get('app.timezone', 'UTC');
為配置項賦值
注意"點"式語法可以用來訪問不同文件里的配置項的值。你還可以在運行時為配置項賦值。:
Config::set('database.default', 'sqlite');
在程序運行時設(shè)置的配置值只在本次請求中有效,不會對以后的請求造成影響。
環(huán)境配置
通常應(yīng)用程序根據(jù)不同的運行環(huán)境確定不同的配置項的值是非常有用的。例如,你也許希望在開發(fā)機器與生產(chǎn)機器上使用不同的緩存驅(qū)動(cache driver)。根據(jù)環(huán)境來改變配置就能很容易的達到此目的。
在config目錄下創(chuàng)建一個和你的環(huán)境名同名的目錄,例如local。然后,創(chuàng)建配置文件,這些配置文件中包含你想覆蓋的配置選項。例如,要在本地環(huán)境中覆蓋緩存驅(qū)動(cache driver),你可以在app/config/local目錄中創(chuàng)建cache.php文件并包含如下內(nèi)容:
<?php
return array(
'driver' => 'file',
);
注意: 不要使用'testing'作為環(huán)境名,它是專門為單元測試所保留的。
注意,你不需要為基礎(chǔ)配置文件中的所有配置項指定值,只需指定你需要覆蓋的配置選項即可。環(huán)境配置文件將會以"cascade"方式覆蓋基本配置文件。
接下來,我們需要指導(dǎo)框架如何確定其運行環(huán)境。默認環(huán)境總是produciton。然而,你可以在安裝目錄的根目錄下的bootstrap/start.php 文件中設(shè)置其他的環(huán)境。在該文件中,你可以找到 $app->detectEnvironment方法的調(diào)用。傳入的數(shù)組參數(shù)就是用來確定當(dāng)前運行環(huán)境的。你可以根據(jù)需要添加其他的環(huán)境或機器名。
<?php
$env = $app->detectEnvironment(array(
'local' => array('your-machine-name'),
));
在此案例中,'local' 是運行環(huán)境的名稱,'your-machine-name' 是服務(wù)器的主機名。在Linux和Mac上,可以通過 hostname 命令來確定所用機器的主機名。
如果你需要更靈活的環(huán)境檢查方式,可以在調(diào)用detectEnvironment時傳遞一個閉包(Closure) , 這樣你就可以按照自己的方式檢查環(huán)境了:
$env = $app->detectEnvironment(function()
{
return $_SERVER['MY_LARAVEL_ENV'];
});
獲取當(dāng)前的應(yīng)用環(huán)境
可以通用調(diào)用environment方法來獲取當(dāng)前的應(yīng)用環(huán)境:
$environment = App::environment();
你還可以將參數(shù)傳遞給 environment 方法來判斷應(yīng)用環(huán)境是否與某個給定值匹配:
if (App::environment('local'))
{
// The environment is local
}
if (App::environment('local', 'staging'))
{
// The environment is either local OR staging...
}
維護模式
當(dāng)應(yīng)用處于維護模式時,所有的路由都會指向一個自定義的視圖。這對于更新應(yīng)用或執(zhí)行維護任務(wù)時臨時"禁用"當(dāng)前應(yīng)用是很方便的。App::down方法在app/start/global.php文件里進行了定義,它將在維護模式時將該方法輸出的內(nèi)容展示給用戶。
要開啟維護模式,只需執(zhí)行Artisan 的 down命令:
php artisan down
要關(guān)閉維護模式,只需執(zhí)行 up 命令:
php artisan up
當(dāng)你的應(yīng)用處于維護模式時,如需展示一個自定義的視圖,只要在app/start/global.php文件中加入如下代碼即可:
App::down(function()
{
return Response::view('maintenance', array(), 503);
});
如果傳遞給 down 方法的閉包返回值為 NULL, 在此次請求中將忽略維護模式。
維護模式 & 隊列
當(dāng)應(yīng)用程序處于維護模式時, 將不接受新的隊列任務(wù) 。一旦應(yīng)用程序退出維護模式,隊列任務(wù)的處理即恢復(fù)正常。
相關(guān)文章
php使用Session和文件統(tǒng)計在線人數(shù)
這篇文章主要介紹了php使用Session和文件統(tǒng)計在線人數(shù),本文直接給出實例代碼,需要的朋友可以參考下2015-07-07thinkphp中session和cookie無效的解決方法
這篇文章主要介紹了thinkphp中session和cookie無效的解決方法,涉及針對BOM頭的分析與刪除方法,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12