用户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
答案 0 :(得分:5)
绝对第一个选项是三者中最好的,原因是可伸缩性和维护。
如果您只使用一个控制器,如第三种方法中所建议的那样,您将很快得到一个包含数千行的混乱类。这不仅不能很好地扩展,但对你和你的队友来说很难合作。
第二种选择比第三种更好,但仍然不是最好的选择。从一开始就支持API版本化是一种更好的做法,它将使您的路由,文件和命名空间更有条理。
顺便说一句,只要您正确命名空间,就可以使用ApiUserController
而不是命名UserController
。因此,您可以将\UserController
和Api\V1\UserController
放在一起。
答案 1 :(得分:1)
个人意见。我更喜欢第一种选择。全部在1个应用程序中,并通过命名空间进行版本控制。