我在ZF 1.x上有项目,我想使用EventDispatcher Symfony组件。 我有2个服务用户和主题。成功用户身份验证后,我需要激活用户的主题。因此,我在用户服务中进行身份验证后创建Event-AuthenticationEvent和fire事件,如此
$dispatcher->dispatch('user.authentication.success', new AuthenticationEvent($user));
但是我需要在哪里添加监听器?此代码看起来像
$listener = new TopicListener();
$dispatcher->addListener('user.authentication.success', array($listener, 'onAuthenticationAction'));
我在用户服务中进行了方法验证,并且在验证成功的情况下,有一些代码行调用方法activate($ user)来激活主题。于是我在User和Topic服务之间进行了耦合。这就是我决定使用EventDispatcher的原因。
那么添加听众的最佳位置在哪里?在一些代码的bootstrap部分?
答案 0 :(得分:1)
我不知道ZF。 但是你必须在发送事件之前添加监听器。
有“bootsrap”文件吗?在那里(或在前端控制器中)添加监听器。