路由: 将用户的请求按照事先规划的方案, 将用户请求提交给指定的控制器或者功能函数来进行处理 关键类: Illuminate\Routing\Route
路由配置
Laravel框架中, 路由信息必须要手动进行配置。
命令 php artisan route:list 可查看系统已有的路由命令
配置文件
路由配置文件的位置: routes/web.php
配置路由
语法规则
Route::请求方式(请求的URL,匿名函数或控制响应的方法)
示例代码
// 根路由Route::get('/', function () {return view('welcome');});
不同请求方式对应的路由方法
Route::get($uri, $callback);Route::post($uri, $callback);Route::put($uri, $callback);Route::patch($uri, $callback);Route::delete($uri, $callback);Route::options($uri, $callback);
路由匹配
有时候一个路由需要响应多个Http请求, 可以通过 match 或 any 来指定路由的匹配情况
固定匹配 | match
注册匹配指定请求类型的新路由
Route match(array|string $methods, string $uri, Closure|array|string|callable $action = null)
示例代码
// 用数组来声明match要匹配的请求类型
Route::match(['get', 'post'], '/', function()) {
// ...
});
所有匹配 | any
注册响应所有请求类型的新路由
Route any(string $uri, Closure|array|string|callable|null $action = null)
示例代码
// any表示匹配所有的请求类型
Route::any('/', function()) {
// ...
});
路由别名
在路由定义时, 为路由起一个简单别名。 以后在程序中可使用别名来获取路由信息
别名 | name
添加或修改路由的名字 (起别名)
$this name(string $name)
示例代码
Route::get('/very/long/path', function() {
echo "This is Route Alias";
}) -> name('moeAlias');
路由群组
群组 | group
创建路由群组
void group(array $attributes, Closure|string $routes)
示例代码
# 使用 prefix 字段指定路由前缀
Route::group(['prefix' => 'group/test'], function() {
// prefix/members1, 即 group/test/members1
Route::get('members1', function() {
echo "admin/mbmbers1";
});
Route::get('members2', function() {
echo "admin/mbmbers2";
});
Route::get('members3', function() {
echo "admin/mbmbers3";
});
});
