📌  相关文章
📜  0 更改以下行 Route::resource('orders', [OrderController::class]); to Route::resource('orders', OrderController::class); (1)

📅  最后修改于: 2023-12-03 15:13:04.617000             🧑  作者: Mango

0 更改以下行 Route::resource('orders', [OrderController::class]); to Route::resource('orders', OrderController::class);

如果你使用 Laravel 框架开发网站或应用程序,你可能需要管理若干资源,例如订单,用户等。你可以使用 Route::resource 方法自动生成一组 RESTful 路由来管理这些资源。

例如,以下代码行将生成所有必要的路由,以便在 OrderController 控制器中处理订单资源:

Route::resource('orders', [OrderController::class]);

这将为以下请求路径注册路由:

GET /orders              index
GET /orders/create       create
POST /orders             store
GET /orders/{order}      show
GET /orders/{order}/edit edit
PUT/PATCH /orders/{order}      update
DELETE /orders/{order}   destroy

请注意,OrderController 参数已设置为数组形式。这是因为在 Laravel 8 之前版本中,控制器类名通常需要作为字符串传递。而 Laravel 8 新增支持传入类名而不必使用数组。

所以,在 Laravel 8 及以上版本中,你可以改用以下行代码:

Route::resource('orders', OrderController::class);

从此,你可以安全地删除 OrderController 类名前面的方括号,这样代码会更简洁,易于维护。

建议您采用一致的、简化的语法约定,以简化 future Laravel 版本的代码迁移。

此文简述了 Laravel 中自动生成 RESTful 路由方法 Route::resource 的使用,并为你介绍了 Laravel 8 中关于控制器参数的新变化。