Laravel 不同生產(chǎn)環(huán)境服務(wù)器的判斷實(shí)踐
項(xiàng)目的前期為了開發(fā)速度會(huì)使用單一應(yīng)用,就是一個(gè) Laravel 框架實(shí)現(xiàn) API 和后臺(tái)接口。
用戶體量上來(lái)后,一臺(tái)服務(wù)器不夠了,項(xiàng)目就采用了 API 和 后臺(tái)接口分開放到不同的服務(wù)器上面。
發(fā)現(xiàn)路由數(shù)量變多后影響到了性能,這個(gè)時(shí)候需要區(qū)別不同服務(wù)器去加載不同的路由。
如何去別不同的服務(wù)器區(qū)別環(huán)境,但是又要區(qū)別是生產(chǎn)環(huán)境。
代碼實(shí)現(xiàn)
可以使用 app()->environment(); 方法實(shí)現(xiàn),生產(chǎn)環(huán)境和測(cè)試環(huán)境的區(qū)別。
查看代碼后發(fā)現(xiàn)可以使用更多的方法。
/**
* 獲取或檢查當(dāng)前應(yīng)用程序環(huán)境。
*
* @return string|bool
*/
public function environment()
{
// 返回傳遞給函數(shù)的參數(shù)數(shù)量
if (func_num_args() > 0) {
// 如果第一個(gè)參數(shù)是數(shù)組就去第一個(gè),不是的話取全部的。
$patterns = is_array(func_get_arg(0)) ? func_get_arg(0) : func_get_args();
return Str::is($patterns, $this['env']);
}
return $this['env'];
}
Str::is 函數(shù)判斷給定的字符串是否匹配給定的模式。星號(hào) * 可以用來(lái)表示通配符:
# 判斷在 API 環(huán)境
app()->environment("production.api");
# 判斷在 ADMIN 環(huán)境
app()->environment("production.admin");
# 判斷在所有環(huán)境
app()->environment("production.*");
修改 RouteServiceProvider 文件
/**
* Define the routes for the application.
*/
public function map()
{
// 公共路由
if (app()->environment('production.api')) {
# production api 路由
$this->mapApiRoutes();
} elseif (app()->environment('production.admin')) {
# production admin 路由
$this->mapAdminRoutes();
} else {
# local testing stanging 環(huán)境下加載所有路由
$this->mapApiRoutes();
$this->mapAdminRoutes();
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
php根據(jù)操作系統(tǒng)轉(zhuǎn)換文件名大小寫的方法
這篇文章主要介紹了php根據(jù)操作系統(tǒng)轉(zhuǎn)換文件名大小寫的方法,需要的朋友可以參考下2014-02-02
wordpress網(wǎng)站轉(zhuǎn)移到本地運(yùn)行測(cè)試的方法
這篇文章主要為大家詳細(xì)介紹了wordpress網(wǎng)站轉(zhuǎn)移到本地運(yùn)行測(cè)試的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
對(duì)于ThinkPHP框架早期版本的一個(gè)SQL注入漏洞詳細(xì)分析
這篇文章主要介紹了對(duì)于ThinkPHP框架早期版本的一個(gè)SQL注入漏洞詳細(xì)分析,對(duì)于網(wǎng)站安全十分重要!需要的朋友可以參考下2014-07-07
php調(diào)用dll的實(shí)例操作動(dòng)畫與代碼分享
這是我錄制的一個(gè)gif操作動(dòng)畫,圖片比較大,如果大家在線看圖感覺(jué)不流暢的話可以把圖片保存到本機(jī)再看2012-08-08
php通過(guò)字符串調(diào)用函數(shù)示例
這篇文章主要介紹了php通過(guò)字符串調(diào)用函數(shù),需要的朋友可以參考下2014-03-03
Thinkphp中volist標(biāo)簽mod控制一定記錄的換行BUG解決方法
這篇文章主要介紹了Thinkphp中volist標(biāo)簽mod控制一定記錄的換行BUG解決方法,涉及針對(duì)標(biāo)簽執(zhí)行語(yǔ)句順序的修改,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11
thinkPHP5框架閉包函數(shù)與子查詢傳參用法示例
這篇文章主要介紹了thinkPHP5框架閉包函數(shù)與子查詢傳參用法,結(jié)合實(shí)例形式分析了thinkPHP5閉包查詢與參數(shù)傳遞相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
IIS6.0 開啟Gzip方法及PHP Gzip函數(shù)分享
因?yàn)樵谧鲆粋€(gè)項(xiàng)目,項(xiàng)目里面服務(wù)器主要提供數(shù)據(jù),但是數(shù)據(jù)多了文件就大了,比較浪費(fèi)流量和時(shí)間,我們便用Gzip來(lái)處理。我在本機(jī)上是apache,服務(wù)器上是IIS6.0,用的是php,那么我就在這里分享一下。2014-06-06

