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路由
- Thinkphp5基礎——08 控制器PHP
- React路由(基礎)React路由
- Thinkphp5基礎——10 請求引數PHP
- Thinkphp5基礎——11 validate驗證PHP
- Thinkphp5基礎——06 模型(隱藏欄位)PHP模型
- vue-router路由基礎Vue路由
- 交換機及路由基礎路由
- Express基礎瞭解—路由Express路由
- 路由器基礎(轉)路由器
- 機器學習基礎09DAY機器學習
- 09、路由聚合路由
- Thinkphp5基礎——07 模型(模型關聯——查詢篇)PHP模型
- Vue開發之基礎路由Vue路由
- Flutter - 路由管理 - 01 - 基礎使用Flutter路由
- Django基礎之二(URL路由)Django路由
- Python基礎(09):幫助Python
- 09Linux基礎命令Linux
- .NetCore MVC中的路由(1)路由配置基礎NetCoreMVC路由
- 路由器基礎介紹,及配置靜態路由,預設路由路由器
- Linux基礎命令---IP路由操作Linux路由
- Rails控制器及路由基礎AI路由
- 2.路由器配置基礎路由器
- React路由 基礎:react-router-domReact路由
- vue 基礎入門筆記 09Vue筆記
- Oracle基礎 09 概要檔案 profileOracle
- 09-JavaScript基礎-流程控制-ifJavaScript
- Linux基礎命令---tracepath追蹤路由Linux路由
- Django基礎三之路由、檢視、模板Django路由
- 實驗十六——————動態路由OSPF基礎路由
- Linux基礎命令---traceroute追蹤路由Linux路由
- ASP.NET Core基礎知識(四)【路由】ASP.NET路由
- PHP基礎教程-09 浮點型變數PHP變數
- Python基礎教程09 - 物件導向深入Python物件
- vs code 新建程式碼片段 路由基礎程式碼路由
- vue 基礎入門筆記 18:路由巢狀Vue筆記路由巢狀
- Linux基礎命令---顯示路由表routeLinux路由
- 4.路由器設計技術基礎路由器