Looks like I should avoid implementing ArrayAcces for
the storage handler. That prevents passing around the
stacks by reference.
{
foreach ($options['listeners'] as $listener) {
if (isset($this->_listeners[$listener])) {
- $instance = $this->_storage[$this->_listeners[$listener]->getName()];
- $this->_listeners[$listener]->notify($instance, $options);
+ $stack = $this->_storage[$this->_listeners[$listener]->getName()];
+ $this->_listeners[$listener]->notify($stack, $options);
+ $this->_storage[$this->_listeners[$listener]->getName()] = $stack;
}
}
}