跟我學(xué)Laravel之配置Laravel
當(dāng)你需要在運(yùn)行時(shí)訪問(wèn)配置項(xiàng)時(shí),可以使用Config類(lèi):
獲取一個(gè)配置項(xiàng)的值**
Config::get('app.timezone');
如果配置項(xiàng)不存在,你還可以指定返回的默認(rèn)值:
$timezone = Config::get('app.timezone', 'UTC');
為配置項(xiàng)賦值
注意"點(diǎn)"式語(yǔ)法可以用來(lái)訪問(wèn)不同文件里的配置項(xiàng)的值。你還可以在運(yùn)行時(shí)為配置項(xiàng)賦值。:
Config::set('database.default', 'sqlite');
在程序運(yùn)行時(shí)設(shè)置的配置值只在本次請(qǐng)求中有效,不會(huì)對(duì)以后的請(qǐng)求造成影響。
環(huán)境配置
通常應(yīng)用程序根據(jù)不同的運(yùn)行環(huán)境確定不同的配置項(xiàng)的值是非常有用的。例如,你也許希望在開(kāi)發(fā)機(jī)器與生產(chǎn)機(jī)器上使用不同的緩存驅(qū)動(dòng)(cache driver)。根據(jù)環(huán)境來(lái)改變配置就能很容易的達(dá)到此目的。
在config目錄下創(chuàng)建一個(gè)和你的環(huán)境名同名的目錄,例如local。然后,創(chuàng)建配置文件,這些配置文件中包含你想覆蓋的配置選項(xiàng)。例如,要在本地環(huán)境中覆蓋緩存驅(qū)動(dòng)(cache driver),你可以在app/config/local目錄中創(chuàng)建cache.php文件并包含如下內(nèi)容:
<?php
return array(
'driver' => 'file',
);
注意: 不要使用'testing'作為環(huán)境名,它是專(zhuān)門(mén)為單元測(cè)試所保留的。
注意,你不需要為基礎(chǔ)配置文件中的所有配置項(xiàng)指定值,只需指定你需要覆蓋的配置選項(xiàng)即可。環(huán)境配置文件將會(huì)以"cascade"方式覆蓋基本配置文件。
接下來(lái),我們需要指導(dǎo)框架如何確定其運(yùn)行環(huán)境。默認(rèn)環(huán)境總是produciton。然而,你可以在安裝目錄的根目錄下的bootstrap/start.php 文件中設(shè)置其他的環(huán)境。在該文件中,你可以找到 $app->detectEnvironment方法的調(diào)用。傳入的數(shù)組參數(shù)就是用來(lái)確定當(dāng)前運(yùn)行環(huán)境的。你可以根據(jù)需要添加其他的環(huán)境或機(jī)器名。
<?php
$env = $app->detectEnvironment(array(
'local' => array('your-machine-name'),
));
在此案例中,'local' 是運(yùn)行環(huán)境的名稱(chēng),'your-machine-name' 是服務(wù)器的主機(jī)名。在Linux和Mac上,可以通過(guò) hostname 命令來(lái)確定所用機(jī)器的主機(jī)名。
如果你需要更靈活的環(huán)境檢查方式,可以在調(diào)用detectEnvironment時(shí)傳遞一個(gè)閉包(Closure) , 這樣你就可以按照自己的方式檢查環(huán)境了:
$env = $app->detectEnvironment(function()
{
return $_SERVER['MY_LARAVEL_ENV'];
});
獲取當(dāng)前的應(yīng)用環(huán)境
可以通用調(diào)用environment方法來(lái)獲取當(dāng)前的應(yīng)用環(huán)境:
$environment = App::environment();
你還可以將參數(shù)傳遞給 environment 方法來(lái)判斷應(yīng)用環(huán)境是否與某個(gè)給定值匹配:
if (App::environment('local'))
{
// The environment is local
}
if (App::environment('local', 'staging'))
{
// The environment is either local OR staging...
}
維護(hù)模式
當(dāng)應(yīng)用處于維護(hù)模式時(shí),所有的路由都會(huì)指向一個(gè)自定義的視圖。這對(duì)于更新應(yīng)用或執(zhí)行維護(hù)任務(wù)時(shí)臨時(shí)"禁用"當(dāng)前應(yīng)用是很方便的。App::down方法在app/start/global.php文件里進(jìn)行了定義,它將在維護(hù)模式時(shí)將該方法輸出的內(nèi)容展示給用戶。
要開(kāi)啟維護(hù)模式,只需執(zhí)行Artisan 的 down命令:
php artisan down
要關(guān)閉維護(hù)模式,只需執(zhí)行 up 命令:
php artisan up
當(dāng)你的應(yīng)用處于維護(hù)模式時(shí),如需展示一個(gè)自定義的視圖,只要在app/start/global.php文件中加入如下代碼即可:
App::down(function()
{
return Response::view('maintenance', array(), 503);
});
如果傳遞給 down 方法的閉包返回值為 NULL, 在此次請(qǐng)求中將忽略維護(hù)模式。
維護(hù)模式 & 隊(duì)列
當(dāng)應(yīng)用程序處于維護(hù)模式時(shí), 將不接受新的隊(duì)列任務(wù) 。一旦應(yīng)用程序退出維護(hù)模式,隊(duì)列任務(wù)的處理即恢復(fù)正常。
- Laravel 5框架學(xué)習(xí)之環(huán)境與配置
- Laravel框架路由配置總結(jié)、設(shè)置技巧大全
- 淺析Laravel5中隊(duì)列的配置及使用
- Laravel 5.5官方推薦的Nginx配置學(xué)習(xí)教程
- PHP開(kāi)發(fā)框架laravel安裝與配置教程
- PHP框架laravel的.env文件配置教程
- laravel安裝和配置教程
- Laravel如何友好的修改.env配置文件詳解
- Laravel 5.3 學(xué)習(xí)筆記之 配置
- Laravel配置全局公共函數(shù)的方法步驟
- Laravel框架環(huán)境與配置操作實(shí)例分析
相關(guān)文章
使用array_map簡(jiǎn)單搞定PHP刪除文件、刪除目錄
這篇文章主要介紹了使用array_map簡(jiǎn)單搞定PHP刪除文件、刪除目錄的相關(guān)資料,需要的朋友可以參考下2014-10-10php arsort 數(shù)組降序排序詳細(xì)介紹
php arsort函數(shù)用于將數(shù)組中的元素按照降序進(jìn)行排序,如果排序成功則返回true,否則返回false,本文章向大家講解arsort函數(shù)的基本語(yǔ)法及使用實(shí)例,需要的朋友可以參考下2016-11-11Thinkphp極驗(yàn)滑動(dòng)驗(yàn)證碼實(shí)現(xiàn)步驟解析
這篇文章主要介紹了Thinkphp極驗(yàn)滑動(dòng)驗(yàn)證碼實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11php+mysql寫(xiě)的簡(jiǎn)單留言本實(shí)例代碼
方便新手學(xué)習(xí)php2008-07-07thinkPHP自動(dòng)驗(yàn)證、自動(dòng)添加及表單錯(cuò)誤問(wèn)題分析
這篇文章主要介紹了thinkPHP自動(dòng)驗(yàn)證、自動(dòng)添加及表單錯(cuò)誤問(wèn)題分析,結(jié)合案例形式分析了thinkPHP自動(dòng)完成機(jī)制的相關(guān)使用技巧與注意事項(xiàng),需要的朋友可以參考下2016-10-10php使用Session和文件統(tǒng)計(jì)在線人數(shù)
這篇文章主要介紹了php使用Session和文件統(tǒng)計(jì)在線人數(shù),本文直接給出實(shí)例代碼,需要的朋友可以參考下2015-07-07thinkphp中session和cookie無(wú)效的解決方法
這篇文章主要介紹了thinkphp中session和cookie無(wú)效的解決方法,涉及針對(duì)BOM頭的分析與刪除方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12