Laravel API控制器结构?

Azr*_*him 4 php rest laravel laravel-4

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

为每个api版本分别为UI和API提供控制器

/app/controllers/UsersController.php
/app/controllers/api/v1/ApiUsersController.php
Run Code Online (Sandbox Code Playgroud)

要么

用于UI和API的独立控制器,并在代码中处理版本控制

/app/controllers/UsersController.php
/app/controllers/api/ApiUsersController.php 
Run Code Online (Sandbox Code Playgroud)

要么

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

/app/controllers/UsersController.php  
Run Code Online (Sandbox Code Playgroud)

Man*_*era 5

绝对是第一个选择是三者中最好的,原因是可扩展性维护.

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

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

顺便说一句,只要你正确命名空间,ApiUserController你也可以使用它,而不是命名它UserController.所以,你可以拥有\UserControllerApi\V1\UserController共存.