Laravel API控制器结构?

时间:2013-11-25 00:28:13

标签: php rest laravel laravel-4

用户api的哪个控制器结构有意义

为每个API版本的UI和API分离控制器

/app/controllers/UsersController.php
/app/controllers/api/v1/ApiUsersController.php

为UI和API分离控制器并处理代码中的版本控制

/app/controllers/UsersController.php
/app/controllers/api/ApiUsersController.php 

在路由器中使用单个控制器,检测/ api / call。根据网址返回html / json。

/app/controllers/UsersController.php  

2 个答案:

答案 0 :(得分:5)

绝对第一个选项是三者中最好的,原因是可伸缩性维护

如果您只使用一个控制器,如第三种方法中所建议的那样,您将很快得到一个包含数千行的混乱类。这不仅不能很好地扩展,但对你和你的队友来说很难合作。

第二种选择比第三种更好,但仍然不是最好的选择。从一开始就支持API版本化是一种更好的做法,它将使您的路由,文件和命名空间更有条理。

顺便说一句,只要您正确命名空间,就可以使用ApiUserController而不是命名UserController。因此,您可以将\UserControllerApi\V1\UserController放在一起。

答案 1 :(得分:1)

个人意见。我更喜欢第一种选择。全部在1个应用程序中,并通过命名空间进行版本控制。