程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 修改Laravel5.3中的路由文件與路徑

修改Laravel5.3中的路由文件與路徑

編輯:PHP綜合

前言

大家可能沒有注意到, 在 Laravel 4 以及更老版本中, 路由邏輯是性能上的一個瓶頸--特別是對於有很多路由定義的應用而言. 一個只有幾百條路由定義的 Laravel 站點, 框架光注冊路由就需要半秒多的時間. 不過以後不用擔心這個問題了, 因為 Laravel 5 引入了 路由緩存(route caching), 可以大大優化路由的性能(閉包方式定義的路由不能緩存, 所以該把所有的閉包路由定義都移到控制器中了).

1、回顧Laravel 5.2中路由的修改
在 Laravel 5.2 的routes.php中我們可以看到路由被分割成兩個路由群組:web和api,這樣做的原因是基於中間件群組的理念:開箱即可擁有web和api兩組路由。

web路由組提供了普通web用戶所需的所有功能特性:如session、cookie、CSRF防護等等,相比之下,api路由組更加輕量級,只提供了throttle中間件,以便提供無狀態的REST API。

2、Laravel 5.3 中路由的修改

在Laravel 5.3中,app/Http/routes.php文件被移動到routes目錄下,並且被分割成兩個文件:web.php和api.php。你可能已經猜到了,web.php中的路由應用了web中間件組,而api.php中的路由應用了api中間件組。

這樣做有一些好處,首先,我們實現了web路由和api路由的分離,其次,可以在應用級層面組織多個路由文件,最後,將routes移出app目錄,對新手而言,可以更快訪問到routes目錄,並且讓app目錄完全成為PSR-4自動加載的目錄。

如果你想要自定義或者添加自己的獨立路由文件,參考App\Providers\RouteServiceProvider獲取思路:

...
public function map()
{
 $this->mapWebRoutes();
 $this->mapApiRoutes();
 //
}

protected function mapWebRoutes()
{
 Route::group([
  'namespace' => $this->namespace, 
  'middleware' => 'web',
 ], function ($router) {
  require base_path('routes/web.php');
 });
}

protected function mapApiRoutes()
{
 Route::group([
  'middleware' => ['api', 'auth:api'],
  'namespace' => $this->namespace,
  'prefix' => 'api',
 ], function ($router) {
  require base_path('routes/api.php');
 });
}

總結

很簡單吧,參照這段代碼應該可以很輕松創建自己獨立的路由文件。以上就是修改Laravel5.3中路由文件及路徑的全部內容,希望本文對大家學習Laravel5.3有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved