Sonata Notification Bundles 后端命令等待传递给命令的迭代次数完成,我希望后端命令只迭代等于可用消息的次数。它应该发送所有消息并退出。
所以我想覆盖 Sonata\NotificationBundle\Iterator\MessageManagerMessageIterator 类。
我将它复制到 Application\Sonata\NotificationBundle\Iterator\MessageManagerMessageIterator , Application\Sonata 是 Sonata 在安装时生成的子包。但它仍然指向原始的父捆绑类,而不是使用这个类。
迭代器用于,
Sonata\NotificationBundle\Backend\MessageManagerBackend.php 类在下面的方法中。
/**
* {@inheritdoc}
*/
public function getIterator()
{
$types = null !== $this->type ? array($this->type) : array();
return new MessageManagerMessageIterator($this->messageManager, $types, $this->pause, $this->batchSize);
}
如何覆盖 MessageManagerMessageIterator ?