Thinkphp5基礎——09 路由
完整定義(不推薦使用)
Route::rule('訪問名','模組/控制器/方法'[,'請求方式'][,'路由檢測規則(陣列)'][,'變數規則(陣列)]')
除了前兩個引數,其餘引數皆為可選。
如果想要支援多種請求方式,可以使用|
。
為了明確定義路由請求型別,不推薦使用這種方式定義路由。
例子
Route::rule('hello','index/index/hello','GET|POST');
快捷定義(推薦)
Route::get('new/:id','News/read'); // 定義GET請求路由規則
Route::post('new/:id','News/update'); // 定義POST請求路由規則
Route::put('new/:id','News/update'); // 定義PUT請求路由規則
Route::delete('new/:id','News/delete'); // 定義DELETE請求路由規則
Route::any('new/:id','News/read'); // 所有請求都支援的路由規則
這種定義方法明確了請求的型別,官方也推薦使用這種方法定義路由。
第三個引數是路由檢測規則,第四個引數是變數規則。
路由傳參
Route::get('訪問名/:引數名','模組/控制器/方法');
5.1.6+ 推薦使用<var>
Route::get('訪問名/<引數名>','模組/控制器/方法');
:name可以在接收方法使用$name去獲取,詳細請看小例子。
小例子
定義的路由:
Route::get('hello/<id>','index/index/hello');
index模組index控制器的hello方法
public function hello($id){
// $id將自動關聯我們定義的路由引數id
return $id;
}
變數規則
有兩種設定方式,
第一種: 在定義路由的時候,最後一個引數傳入一個陣列,key為引數名,value為正則。
如: Route::get('test/<id>','index/index/test',[],['id' => '\d+']);
(更推薦下面這種方式)
第二種:先定義路由,然後呼叫pattern方法,傳入陣列。
如:Route::get('test/<id>','index/index/test')
->pattern(['id' => '\d+']);
路由分組
使用路由分組,可以充分利用分組的匹配機制提高路由解析效能。
這塊內容很簡單,直接上程式碼。
Route::group('blog', function() {
Route::get('<id>$', 'blog/read');
Route::get('<id>/edit$', 'blog/edit');
})->pattern(['id' => '\d+']);
MISS路由
Route::miss('模組/控制器/方法')
當所有路由都匹配不到時,將會執行MISS路由。
MISS路由可以和上面的路由分組組合起來,在分組裡面設定MISS路由。
相關文章
- Angular路由——路由基礎Angular路由
- 09、路由聚合路由
- 09Linux基礎命令Linux
- Python基礎(09):幫助Python
- Thinkphp5基礎——11 validate驗證PHP
- Thinkphp5基礎——08 控制器PHP
- React路由(基礎)React路由
- Thinkphp5基礎——10 請求引數PHP
- Thinkphp5基礎——06 模型(隱藏欄位)PHP模型
- vue 基礎入門筆記 09Vue筆記
- Express基礎瞭解—路由Express路由
- vue-router路由基礎Vue路由
- 機器學習基礎09DAY機器學習
- Thinkphp5基礎——07 模型(模型關聯——查詢篇)PHP模型
- Django基礎之二(URL路由)Django路由
- Flutter - 路由管理 - 01 - 基礎使用Flutter路由
- Vue開發之基礎路由Vue路由
- Linux基礎命令---IP路由操作Linux路由
- 交換機及路由基礎路由
- 路由器基礎介紹,及配置靜態路由,預設路由路由器
- Linux基礎命令---tracepath追蹤路由Linux路由
- Linux基礎命令---traceroute追蹤路由Linux路由
- React路由 基礎:react-router-domReact路由
- day09 集合基礎、學生管理系統
- Java基礎筆記09-陣列簡介Java筆記陣列
- Java基礎09:邏輯運算子、位運算子Java
- 09-02 Java語言基礎(修飾符)Java
- 實驗十六——————動態路由OSPF基礎路由
- Django基礎三之路由、檢視、模板Django路由
- 傳智黑馬python基礎學習——day09Python
- vue 基礎入門筆記 09:生命週期函式Vue筆記函式
- Oracle分割槽表基礎運維-09刪除分割槽Oracle運維
- 《前端運維》一、Linux基礎--09常用軟體安裝前端運維Linux
- Linux基礎命令---顯示路由表routeLinux路由
- ASP.NET Core基礎知識(四)【路由】ASP.NET路由
- Python基礎09 物件導向的進一步擴充Python物件
- 4.路由器設計技術基礎路由器
- vs code 新建程式碼片段 路由基礎程式碼路由