感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
ImmutableEventDispatcher
是一个被锁定或被冻结的事件派遣器。该派遣器不再注册新的监听器或订阅器。
ImmutableEventDispatcher
接收另外一个dispatcher连同全部的监听和订阅。这个“不可改变”的immutable dispatcher只是原本的派遣器的一个代理而已。
为了使用它,先创建一个普通的dispatcher(EventDispatcher
或ContainerAwareEventDispatcher
),然后注册一些监听或订阅(listeners or subscribers):
1 2 3 4 5 6 7 8 | use Symfony\Component\EventDispatcher\EventDispatcher;
$dispatcher = new EventDispatcher();
$dispatcher->addListener('foo.action', function ($event) {
// ...
});
// ... |
现在,注入一个ImmutableEventDispatcher
:
1 2 3 4 | use Symfony\Component\EventDispatcher\ImmutableEventDispatcher;
// ...
$immutableDispatcher = new ImmutableEventDispatcher($dispatcher); |
在你的项目中,可以使用这个新的事件派遣器了。
如果你试图执行能够修改dispatcher对象的某个方法(比如addListener
),则BadMethodCallException
异常就会抛出。
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。