什么是路由
将用户的请求按照事先规划的方案提交给指定的控制器和方法来进行处理。
路由配置文件
路由文件的位置:项目目录/routes/web.php文件
4种基础路由的定义(重点)
Route::请求方式('uri',匿名函数);
Route::请求方式('uri','控制器名称@操作方法');
#从服务器取出资源(一项或多项) select
Route::get($uri, $callback);
#在服务器新建一个资源 insert
Route::post($uri, $callback);
#在服务器更新资源 update
Route::put/patch($uri, $callback);
#从服务器删除资源 delete
Route::delete($uri, $callback);
4种基础路由中,只有GET请求方式不进行CSRF验证,其它请求方式则需要CSRF验证
其它路由
Route::match([请求方式,多个以逗号隔开],$uri, $callback);
# 匹配所有请求 工作不用
Route::any($uri, $callback);
路由参数
# 必填
Route::get('URL/{参数名称}','闭包函数或控制器响应方法标识');
# 可选
Route::get('URL/{参数名称?}','闭包函数或控制器响应方法标识');
# 参数限制
Route::get('URL/{参数名称}','闭包函数或控制器响应方法标识')->where(['参数名称'=>'正则']);
路由别名
作用:
- 方便管理生成的URL地址
- 权限控制
Route::get('/user/{id}',function($id){
return "当前用户id是:" . $id;
})-> name('名字');
# 生成了对应的URL地址
$url = route('路由名称');
路由分组之路由前缀
比如后台有如下路由
- /admin/login
- /admin/logout
- /admin/index
- /admin/user/add
- /admin/user/del
# 上在的路由地址中admin为相同的路由前缀
Route::group(['prefix' => 'admin'], function () {
Route::get('users', function () {
// 匹配 "/admin/users" URL
});
});
注:分组中还可以进行分组,无限制去分组下去,当然不建议无限制的分组下去,一般2到3级就可以了。
查看定义好的路由
php artisan route:list