嗨,我有一个关于symfony应用程序架构的问题, 在我的应用程序中,我创建了另一个用户,但是当用户被创建,更新,删除或更改图片时,我需要执行一些操作。
做到这一点的最佳方法是什么?我排除在控制器操作上执行此操作。还有2种解决方案:
创建不同的事件,例如user.created,user.updated,...,并将其分派到控制器操作上,并使其他侦听器执行不同的操作,例如MailListener(对于user.created)TaskListener(对于用户)。创建)添加任务。
使用诸如UserManager之类的服务,并且在该服务上具有诸如userCreated()的方法,并在此方法上调用不同的动作,例如sendMailOnCreated,addTaskOnCreated。
对您来说最好的方法是什么?
答案 0 :(得分:1)
对我来说,您的第一个解决方案是最好的。显然,这是事件组件的用例。这样将更易于维护和可读性。
此外,如果您需要添加更多侦听器,则只需创建另一个侦听器并将其绑定到您的事件即可。您无需再修改控制器。