Laravel 路由

什么是路由

将用户的请求按照事先规划的方案提交给指定的控制器和方法来进行处理。

img

路由配置文件

路由文件的位置:项目目录/routes/web.php文件

img

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验证

img

img

img

其它路由

Route::match([请求方式,多个以逗号隔开],$uri, $callback);

# 匹配所有请求 工作不用

Route::any($uri, $callback);

img

路由参数

# 必填
Route::get('URL/{参数名称}','闭包函数或控制器响应方法标识');

# 可选
Route::get('URL/{参数名称?}','闭包函数或控制器响应方法标识');

# 参数限制
Route::get('URL/{参数名称}','闭包函数或控制器响应方法标识')->where(['参数名称'=>'正则']);

img

路由别名

作用:

  • 方便管理生成的URL地址
  • 权限控制
Route::get('/user/{id}',function($id){
	return "当前用户id是:" . $id;
})-> name('名字');
# 生成了对应的URL地址
$url = route('路由名称');

img

img

路由分组之路由前缀

比如后台有如下路由

  • /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
  });

});

img

注:分组中还可以进行分组,无限制去分组下去,当然不建议无限制的分组下去,一般2到3级就可以了。

查看定义好的路由

php artisan route:list
原文地址:https://www.cnblogs.com/makalochen/p/14393192.html