Laravel 5.5 的路由

本文详细介绍了Laravel 5.5的路由功能,包括基本路由、路由文件、可用的HTTP方法、CSRF保护、重定向、视图路由、路由参数、命名路由、路由组、模型绑定等。重点讲解了如何定义和使用路由,以及路由参数的约束和命名,同时也提及了表单方法伪造和访问当前路由的方法。
摘要由CSDN通过智能技术生成

基本路由

构建最基本的路由只需要一个 URI 与一个 闭包,这里提供了一个非常简单优雅的定义路由的方法:

Route::get('foo', function () {
    return 'Hello World';
});

默认路由文件

所有的 Laravel 路由都在 routes 目录中的路由文件中定义,这些文件都由框架自动加载。

routes/web.php 文件用于定义 web 界面的路由。这里面的路由都会被分配给 web 中间件组,它提供了会话状态和 CSRF 保护等功能。

routes/api.php 文件中的路由都是无状态的,并且被分配了 api 中间件组。

大多数的应用构建,都是以在 routes/web.php 文件中定义路由开始的。可以通过在浏览器中输入定义的路由 URL 来访问 routes/web.php 中定义的路由。例如,你可以在浏览器中输入 http://your-app.dev/user 来访问以下路由:

Route::get('/user', 'UsersController@index');

routes/api.php 文件中定义的路由通过 RouteServiceProvider 被嵌套到一个路由组里面。在这个路由组中,会自动添加 URL 前缀 /api 到此文件中的每个路由,这样你就无需再手动添加了。你可以在 RouteServiceProvider 类中修改此前缀以及其他路由组选项。

可用的路由方法

允许注册能响应任何 HTTP 请求的路由:

  • 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 方法注册一个实现响应所有 HTTP 请求的路由:

  • Route::match(['get', 'post'], $uri, $callback);
  • Route::any($uri, $callback);

CSRF 保护

web.php 路由文件中定义的 POST、PUT 或 DELETE 路由的任何 HTML 表单都应该包含一个 CSRF 令牌字段,否则,这个请求将会被拒绝。

<form method="POST" action="/profile">
    {
  { csrf_field() }}
    ...
</form>

重定向路由

如果要定义重定向到另一个 URI 的路由,可以使用 Route::redirect 方法。这个方法可以快速地实现重定向,而不再需要去定义完整的路由或者控制器。

Route::redirect('/here', '/there', 301);

视图路由

如果你的路由只需要返回一个视图,可以使用 Route::view 方法。它和 redirect 一样方便,不需要定义完整的路由或控制器。view 方法有三个参数,其中前两个是必填参数,分别是 URL 和视图名称。第三个参数选填,可以传入一个数组,数组中的数据会被传递给视图。

Route::view('/welcome', 'welcome');

Route::view(&
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值