我试图建立在Symfony中使用控制器的最合理方式。推荐的约定是什么?
在其他框架中,我之前创建了与每个模型相关的控制器。例如如果有User模型,UserController将处理与用户相关的事情,例如登录,注销等。我不知道这是否是组织应用程序的最佳方式,如果它适用于和Symfony一样。
我应该何时创建新的控制器?出于什么目的?
捆绑包是否需要DefaultController?
我什么时候会在我自己的控制器上使用DefaultController(反之亦然)?
一个例子。我有AppBundle
和AdminBundle
。两者都有自己的登录系统(您可以登录前面的网站,或以管理员身份登录管理部分)。
想象一下,我有以下示例路线:
普通用户(AppBundle)
/ (home page)
/login (normal user login)
/directions (feature 1)
/menu (feature 2)
/menu/comments (a sub-section of feature 2)
管理员(AdminBundle)
/admin (administrator home page)
/admin/login (admin login)
/admin/users (view registered users)
/admin/users/345/edit (edit user with ID 345)
在这里组织控制器的最佳方法是什么?我需要多少个控制器以及我将遵循哪些约定?
答案 0 :(得分:0)
您不需要DefaultController。 我认为创建一个控制器来管理实体是个好主意。其他做法是“一个功能 - 一个控制器”。
从最佳实践:
将业务逻辑放入捆绑包中没有技术原因。
因此,如果您有两个捆绑包(例如用户)的一个实体,则可以将其直接放在src/Entity/User.php
中。