代码之家  ›  专栏  ›  技术社区  ›  eldiablo62

symfony事件与服务

  •  -1
  • eldiablo62  · 技术社区  · 6 年前

    嗨,我有一个关于symfony应用程序体系结构的问题, 在我的应用程序中,我创建了不同的用户,但是当创建、更新、删除或更改用户的图片时,我需要执行一些操作。

    最好的方法是什么?我排除了在控制器操作上执行此操作。还有两种解决方案:

    • 创建不同的事件,如user.created、user.updated,…并在控制器操作上调度它,使不同的侦听器执行不同的操作,如maillistener(用于user.created)和task listener(用于user.created)以添加任务。

    • 使用一个类似于usermanager的服务,在这个服务上有一个类似usercreated()的方法,在这个方法上调用不同的操作,例如sendmailoncreated、addtaskoncreated。

    对你来说,最好的方法是什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   JacobDelcroix    6 年前

    对我来说,你的第一个解决方案是最好的。它显然是事件组件的用例。它将更容易维护和可读。

    此外,如果需要添加更多的侦听器,只需创建另一个侦听器并将其绑定到事件。您不再需要修改控制器。