php - 是否可以在 Laravel 中结合 RESTful Controller 和资源 Controller ?

标签 php rest laravel laravel-4

我已经快完成使用 Laravel 2.4.3 框架的网站开发了。

现在我们将开始为该网站开发移动应用程序。我在互联网上做了一个小研究,发现 Laravel 支持 RESTFUL Controller ,我可以用它来创建 Web 服务。因此,我的服务器和移动应用程序之间进行通信。

我的问题是:

是否有可能并且实用同时制作与RESTFUL和资源 Controller 相同的 Controller ?

或者将它们分开更好

谢谢

更新 1

在我看来,它们每个人都应该是一个单独的 Controller ,我只是想向你们这些专家确认一下。

最佳答案

正如 Laravel 自己的文档中直接指出的那样,资源 Controller 是围绕资源的RESTful Controller 。因此,通过拥有资源 Controller ,您就已经拥有 RESTful 功能,并增加了资源处理操作。 Laravel 文档说:

Resource controllers make it easier to build RESTful controllers around resources. For example, you may wish to create a controller that manages "photos" stored by your application. Using the controller:make command via the Artisan CLI and the Route::resource method, we can quickly create such a controller.

并且操作也与相关 HTTP 动词的规范一起列出:

Actions Handled By Resource Controller

    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

尽管如此,上述路由适用于文档中给出的示例 Controller :

Route::resource('photo', 'PhotoController');

因此,通过访问域/资源,如果请求使用 POST 动词,则 post 操作将处理它,否则如果使用 GET,则 GET 操作将介入。

您可以在这里阅读:

http://laravel.com/docs/controllers#resource-controllers

已编辑

关于你关于分居的问题,正如已经说过的,我应该说,是的。

您拥有负责处理资源管理和操作的 Controller ,但有时您需要 RESTful Controller 以不同的方式处理您的请求。

例如,您有一个处理数据处理和计算的 Controller ,那么它与资源管理没有任何关系。

关于php - 是否可以在 Laravel 中结合 RESTful Controller 和资源 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24720891/

相关文章:

java - 从 JSON 响应中提取值

php - 如果记录存在,Laravel with() 关系

laravel - 无法在 FFmpeg laravel 中获取持续时间

php - 检查用户登录时的多种条件

php - 无法使用 AJAX 从 PHP 生成的 Bootstrap 选项卡中检索数据

php - 获取相关类别产品

javascript - 从简单数组创建关联数组,每个数组项的键自动递增

java - 无法使用 Spring MVC 验证 Facebook 获取无效电子邮件

python - JSON 响应格式奇怪

php - Laravel Echo 在 Laravel 8-vujs "^2.5.17"版本中未接收 Pusher 事件