【发布时间】:2023-03-25 06:59:01
【问题描述】:
我在 ZF 1.x 上有项目,我想使用 EventDispatcher Symfony 组件。 我有 2 个服务用户和主题。成功用户认证后,我需要激活用户的主题。所以我创建事件 - AuthenticationEvent 并在像这样的用户服务中进行身份验证后触发事件
$dispatcher->dispatch('user.authentication.success', new AuthenticationEvent($user));
但是我需要在哪里添加监听器?这段代码看起来像
$listener = new TopicListener();
$dispatcher->addListener('user.authentication.success', array($listener, 'onAuthenticationAction'));
我在用户服务中有方法验证,并且有代码行正在调用方法 activate($user) 以在验证成功的情况下激活主题。于是我在用户和主题服务之间有了耦合。这就是我决定使用 EventDispatcher 的原因。
那么添加监听器的最佳位置在哪里?在代码的某些引导部分中?
【问题讨论】:
标签: php symfony zend-framework