接(一)
四、路由(构建基本的路由只需要一个 URI 与一个 闭包)
(1)定义:将用户的请求按照事先规划的方案提交给指定的控制器或者功能函数来进行处理(访问地址)
(2)配置文件Routes/web.php
(3)路由格式Route::请求方式(请求的url,匿名函数或者控制器方法)
(4)路由请求方式 get、post、put、patch、delete、options
通过配置路由规则进行访问
Route::get('/index', function () {
return '通过路由访问index';
});
注册一个可响应多个 HTTP 请求的路由,这时你可以使用 match 方法,也可以使用 any 方法注册一个实现响应所有 HTTP 请求的路由:
Match 匹配固定(自定义的)请求方式的路由
当设置为get、post都存在的时候访问可以正常访问
Route::match(['get','post'],'/index2', function () {
return '通过路由访问index2';
});
当设置为post是get访问报错,找不到post方法
Route::match(['post'],'/index2', function () {
return '通过路由访问index2';
});
Any 表示匹配任意请求方式的路由。
any可以根据请求的方式进行自行匹配。
Route::any('/index2', function () {
return '通过路由访问index2';
});
(5)通过路由传参
1.必选参数
(1)User/{id} 如果不传会报错
正常传参后
Route::get('/index1/{id}', function ($id) {
return 'index页面,id'.$id;
});
2.可选参数
(1)User/{id?} 可传可不传,不传直接使用默认值
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190905094410533.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNDgyMTMy,size_16,color_FFFFFF,t_70)
Route::get('/index1/{id?}', function ($id=5) {
return 'index页面,id'.$id;
});
路由别名 通过PHP artisan route:list查看 调用 route+名字
如果使用别名,可以通过命令查看,使用是直接通过别名调用即可。
4.路由群组(通常用于分模块使用)
通过分模块管理可以是代码清晰,而且方面管理维护。
Route::group(['prefix'=>'admin'], function () {
Route::get('/index2', function () {
return 'index页面2';
});
Route::get('/index3', function () {
return 'index页面3';
});
Route::get('/index4', function () {
return 'index页面4';
});
});