PHP Symfony是禁用电影的最佳选择

时间:2017-09-28 16:00:02

标签: symfony service subscriber best-fit

这里是回购:https://github.com/webostin/sf-case-study/tree/master/movie-invalidator

简短的应用说明

平台Symfony。我们有电影实体。我们有缓存电影分页和电影本身的复杂缓存系统。我们有前端面板和后端面板。 我们有附加到电影的用户实体。我们还有Admin Entity。

问题

我们需要软删除电影,同时重置缓存并发送电子邮件。我们必须在三种(或将来更多)上下文中使用它:

  1. 前端用户删除附加到他的电影。操作:软删除,重置缓存,向管理员发送电子邮件;
  2. 管理员删除电影。操作:软删除,缓存重启,向用户发送电子邮件。
  3. Cron在检查电影数据时会禁用电影。操作:软删除,重置缓存,向管理员和用户发送电子邮件
  4. 问题

    此具体示例中的最佳做法是什么。我找到了3个解决方案:实现每个separetly(不好),写一个事件订阅者并在我想要禁用Movie,编写服务和使用Service来禁用Movie时触发事件。这是最佳可读和正确解决方案的问题。如果您有任何

    ,请提供您的解决方案

1 个答案:

答案 0 :(得分:0)

标记要在第一步中删除影片。在这种情况下,您不需要卸载缓存(您将在界面中看到警告消息)。在第二步中,管理员确认删除并添加到cron的队列中。第三步是删除cron,发送电子邮件并清除缓存。通过这种方式,整个负载都在cron上。