什麼是路由
將用戶的請求按照事先規劃的方案提交給指定的控制器和方法來進行處理。
簡單來說:路由就是訪問地址形式。
路由配置文件
在:/routes/web.php
4種基礎路由的定義
Route::請求方式(‘uri’,匿名函數);
Route::請求方式(‘uri’,‘控制器名稱@操作方法’);
- Route::get($uri, $callback); //支持get請求方式的路由
- Route::post($uri, $callback); // 支持post請求方式的路由
- Route::any($uri, $callback); // 匹配任意請求方式的路由
- Route::match([],$uri, $callback); // 表示匹配自定義的請求方式的路由
路由參數
路由參數其實就是給路由傳遞參數。
- 參數分爲必選參數和可選參數:
- 必選參數:{參數名}
- 可選參數:{參數名?}
- 別忘了參數還可以通過“?”的形式傳遞
路由別名
爲路由定義一個別名,方便以後的程序中可以通過這個別名來獲取路由信息。
調用別名路由:route(名字);
Route::get('a/b/c/d/e/f/g',function() {
echo "路由別名";
}) -> name('abc');
查看系統已經有的路由命令:php artisan route:list
友情提示:要先進入Laravel項目根目錄喲~
路由羣組
語法:Route::group(公共屬性數組,回調函數);
看我們這個路由定義:
Route::get('admin/a',function() {});
Route::get('admin/b/c',function() {});
Route::get('admin/a/e',function() {});
Route::get('admin/a/b/c',function() {});
可以發現,他們的admin是公用的,相同的,此時我們可以這樣寫:
// prefix屬性指定路由前綴
Route::group(['prefix' => 'admin'],function() {
Route::get('a',function() {
// 匹配 admin/a 的URL
});
Route::get('a/b',function() {
// 匹配 admin/a/b 的URL
});
});
就是提取了公共的部分罷了。