什么是路由
将用户的请求按照事先规划的方案提交给指定的控制器和方法来进行处理。
简单来说:路由就是访问地址形式。
路由配置文件
在:/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
});
});
就是提取了公共的部分罢了。