laravel路由文件在哪個目錄里

laravel路由文件在“routes”目錄里。Laravel中所有的路由文件定義在routes目錄下,它里面的內容會自動被框架加載;該目錄下默認有四個路由文件用于給不同的入口使用:web.php、api.php、console.php等。

laravel路由文件在哪個目錄里

本教程操作環境:windows7系統、Laravel6版,DELL G3電腦。

在 Laravel 中要簡單地定義一個路由非常方便,傳遞一個 URI 和閉包即可。

Route::get('foo',?function?()?{ ????return?'Hello?World'; })

Laravel 中所有的路由定義在?routes?目錄下,這個目錄下的內容會自動被框架加載。?routes?目錄中默認有四個路由文件用于給不同的入口使用:web.php、api.php、?console.php?和?channels.php。

  • web.php 文件包含的路由都位于 RouteServiceProvider 所定義的 web 中間件組約束之內,因而支持 Sessioncsrf 保護以及 Cookie 加密功能,如果應用無需提供無狀態的、restful 風格的 API,那么路由基本上都要定義在 web.php 文件中。

  • api.php 文件包含的路由位于 api 中間件組約束之內,支持頻率限制功能,這些路由是無狀態的,所以請求通過這些路由進入應用需要通過 Token 進行認證并且不能訪問 Session 狀態。

  • console.php 文件用于定義所有基于閉包的控制臺命令,每個閉包都被綁定到一個控制臺命令并且允許與命令行 IO 方法進行交互,盡管這個文件并不定義 http 路由,但是它定義了基于控制臺的應用入口(路由)。

  • channels.php 文件用于注冊應用支持的所有事件廣播頻道。

許多項目,基本上都是以 routes/web.php 為起點進行開發的,它能實現快速開發一個項目的需要。在 routes/web.php 中定義的路由在瀏覽器中是可以直接訪問到的。例如,在瀏覽器中輸入 http://your-app.dev/user 地址來訪問下面的路由:

Route::get('/user',?'UsersController@index');

定義在 routes/api.php 中的路由被嵌套在了一個路由組里,這是在 RouteServiceProvider 中設定的。這個組里的路由都使用了 /api 這個 URI 前綴,這樣在你定義路由的時候,就不必再手動添加這個前綴了。如果你不想使用 /api 這個前綴的話,那么可以在 RouteServiceProvider 中修改。

/** ?*?Define?the?"api"?routes?for?the?application. ?* ?*?These?routes?are?typically?stateless. ?* ?*?@return?void ?*/ protected?function?mapApiRoutes() { ????Route::prefix('api') ?????????->middleware('api') ?????????->namespace($this->namespace) ?????????->group(base_path('routes/api.php')); }

可用的路由方法

每一個 HTTP 請求類型都有對應的路由方法可供使用:

Route::get($uri,?$callback); Route::post($uri,?$callback); Route::put($uri,?$callback); Route::patch($uri,?$callback); Route::delete($uri,?$callback); Route::options($uri,?$callback);

有時一個路由需要能夠匹配多個請求類型,這時可以用 match 方法。

Route::match(['get',?'post'],?'/',?function?()?{ ????// });

如果希望一個路由能夠匹配所有請求類型的話,使用 any 方法:

Route::any('foo',?function?()?{ ????// });

CSRF 保護

使用 Route::post、Route::put、Route::patch 和 Route::delete 定義的路由,要求訪問它們的 html 表單都要傳遞一個 CSRF token,否則請求會被拒絕。你可以在 CSRF 文檔里閱讀更多這方面的內容。


????{{?csrf_field()?}} ????…

重定向路由

如果你要將一個路由重定向到另一個路由,可以使用 Route::redirect 方法。這就節省定義一個完整路由或者控制器來操作簡單的重定向帶來的一些麻煩:

Route::redirect('/here',?'/there',?301);

視圖路由

如果你只是要簡單返回一個視圖,可以使用 Route::view 方法,類似 Route::redirect 方法,也節省了一些麻煩。view 方法的第一個參數是 URI,第二個參數是視圖名。另外,也可以使用可選的第三個數組類型參數向視圖傳遞數據:

Route::view('/welcome',?'welcome'); Route::view('/welcome',?'welcome',?['name'?=>?'Taylor']);

【相關推薦:laravel視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享