Laravel 不同生產(chǎn)環(huán)境服務(wù)器的判斷實(shí)踐
項(xiàng)目的前期為了開發(fā)速度會(huì)使用單一應(yīng)用,就是一個(gè) Laravel 框架實(shí)現(xiàn) API 和后臺(tá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) * 可以用來表示通配符:
# 判斷在 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)文章
yii2高級(jí)應(yīng)用之自定義組件實(shí)現(xiàn)全局使用圖片上傳功能的方法
這篇文章主要介紹了yii2高級(jí)應(yīng)用之自定義組件實(shí)現(xiàn)全局使用圖片上傳功能的方法,結(jié)合實(shí)例形式分析了Yii2自定義組件實(shí)現(xiàn)圖片上傳的相關(guān)步驟與操作技巧,需要的朋友可以參考下2016-10-10用Laravel Sms實(shí)現(xiàn)laravel短信驗(yàn)證碼的發(fā)送的實(shí)現(xiàn)
這篇文章主要介紹了用Laravel Sms實(shí)現(xiàn)laravel短信驗(yàn)證碼的發(fā)送的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11php安裝擴(kuò)展mysqli的實(shí)現(xiàn)步驟及報(bào)錯(cuò)解決辦法
這篇文章主要介紹了 php安裝擴(kuò)展mysqli的實(shí)現(xiàn)步驟及報(bào)錯(cuò)解決辦法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09thinkPHP3.2.3結(jié)合Laypage實(shí)現(xiàn)的分頁功能示例
這篇文章主要介紹了thinkPHP3.2.3結(jié)合Laypage實(shí)現(xiàn)的分頁功能,結(jié)合實(shí)例形式分析了thinkPHP3.2.3結(jié)合Laypage實(shí)現(xiàn)分頁的model控制器與view視圖相關(guān)操作技巧,需要的朋友可以參考下2018-05-05YII2框架自定義全局函數(shù)的實(shí)現(xiàn)方法小結(jié)
這篇文章主要介紹了YII2框架自定義全局函數(shù)的實(shí)現(xiàn)方法,總結(jié)分析了YII2框架自定義全局函數(shù)相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03laravel 實(shí)現(xiàn)根據(jù)字段不同值做不同查詢
今天小編就為大家分享一篇laravel 實(shí)現(xiàn)根據(jù)字段不同值做不同查詢,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10Zend Framework+smarty用法實(shí)例詳解
這篇文章主要介紹了Zend Framework+smarty用法,結(jié)合實(shí)例形式詳細(xì)分析了Zend Framework框架整合Smarty模板的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-03-03PHP文件上傳小程序 適合初學(xué)者學(xué)習(xí)!
這篇文章主要為大家詳細(xì)介紹了PHP文件上傳小程序,給初學(xué)者提供的PHP文件上傳小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05