好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Laravel 不同生產環境服務器的判斷實踐

Laravel 不同生產環境服務器的判斷實踐

熱門標簽:天津營銷電話機器人加盟代理 電銷招聘機器人 太原極信防封電銷卡 格陵蘭島地圖標注 南寧crm外呼系統平臺 事業單位如何百度地圖標注 地圖標注入哪個科目 熱線電話機器人 福泉電話機器人

項目的前期為了開發速度會使用單一應用,就是一個 Laravel 框架實現 API 和后臺接口。

用戶體量上來后,一臺服務器不夠了,項目就采用了 API 和 后臺接口分開放到不同的服務器上面。

發現路由數量變多后影響到了性能,這個時候需要區別不同服務器去加載不同的路由。

如何去別不同的服務器區別環境,但是又要區別是生產環境。

代碼實現

可以使用 app()->environment(); 方法實現,生產環境和測試環境的區別。

查看代碼后發現可以使用更多的方法。

/**
 * 獲取或檢查當前應用程序環境。
 *
 * @return string|bool
 */
public function environment()
{
  // 返回傳遞給函數的參數數量
  if (func_num_args() > 0) {
    // 如果第一個參數是數組就去第一個,不是的話取全部的。
    $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 函數判斷給定的字符串是否匹配給定的模式。星號 * 可以用來表示通配符:

# 判斷在 API 環境
app()->environment("production.api");
# 判斷在 ADMIN 環境
app()->environment("production.admin");
# 判斷在所有環境
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 環境下加載所有路由
    $this->mapApiRoutes();

    $this->mapAdminRoutes();
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel給生產環境添加監聽事件(SQL日志監聽)

標簽:香港 通化 金華 佳木斯 阿克蘇 郴州 寶雞 自貢

巨人網絡通訊聲明:本文標題《Laravel 不同生產環境服務器的判斷實踐》,本文關鍵詞  Laravel,不同,生產,環境,服務器,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Laravel 不同生產環境服務器的判斷實踐》相關的同類信息!
  • 本頁收集關于Laravel 不同生產環境服務器的判斷實踐的相關信息資訊供網民參考!
  • 推薦文章