如何以最佳方式添加新的侦听器?

时间:2014-04-14 14:00:30

标签: php symfony zend-framework

我在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部分?

1 个答案:

答案 0 :(得分:1)

我不知道ZF。 但是你必须在发送事件之前添加监听器。

有“bootsrap”文件吗?在那里(或在前端控制器中)添加监听器。