php - 在 Laravel 中使用 PUT/DELETE 的值(value)是什么?

标签 php laravel-4

为了使用 Route::resource 将路由定义为资源,文档指出:

Verb        Path                            Action  Route Name
-------------------------------------------------------------------
GET         /resource                       index   resource.index
GET         /resource/create                create  resource.create
POST        /resource                       store   resource.store
GET         /resource/{resource}            show    resource.show
GET         /resource/{resource}/edit       edit    resource.edit
PUT/PATCH   /resource/{resource}            update  resource.update
DELETE      /resource/{resource}            destroy resource.destroy

按照典型的 REST CRUD,PUT/PATCH 用于更新操作,DELETE 用于销毁操作。我认为这是为了定义典型的资源交互,即使在手动定义我自己的路由和 Controller 操作时也是如此。

以下是我对这些与 Laravel 交互的理解的核心:

PUT 和 DELETE 只是为了创建外部可访问的 json REST API 还是用于其他目的?除了路由到具有不同端点的相同 URI,强制在 $_POST 或 json 中存在 _method 之外,还有其他好处吗?

PUT 和 DELETE 应该是幂等的,但这甚至在 Laravel 中实现了吗?这是我必须在我的 Controller 中发生的事情,还是路由以某种方式强制执行的?

本质上,如果 Laravel 中的 PUT 和 DELETE 在功能上与 POST 相同,除了 REST 语义和并行路由之外,我什么时候以及为什么应该在 POST 上使用它们?

最佳答案

更新记录时使用PUT方法,删除记录时使用DELETE方法。

请注意,在足智多谋的 Controller 中,PUTDELETE 方法都指向同一个url (resource/{resource}),所以如果不区分方法是PUT还是DELETE,就会出问题。

关于php - 在 Laravel 中使用 PUT/DELETE 的值(value)是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20676798/

相关文章:

javascript - Laravel 从数据库获取所有数据并将其放入图表中

PHP:循环遍历结果集

php - 有没有办法在 Zend Framework 1.5 中执行 "INSERT...ON DUPLICATE KEY UPDATE"?

php - CSS 内联类的优先级不正确

Laravel 免费 IDE

testing - Laravel 4 - 单元测试

php - 使用 Reflection 类将精确数量的参数传递给 PHP 类构造函数

php - 如何从 PHP 代码中调用 MySQL 存储过程?

Laravel 4 - 何时使用服务提供者?

php - 如何避免筛选报价