$this->lazyLoad($eventName);
if (isset($this->listenerIds[$eventName])) {
- foreach ($this->listenerIds[$eventName] as $i => $args) {
- list($serviceId, $method, $priority) = $args;
+ foreach ($this->listenerIds[$eventName] as $i => list($serviceId, $method, $priority)) {
$key = $serviceId.'.'.$method;
if (isset($this->listeners[$eventName][$key]) && $listener === array($this->listeners[$eventName][$key], $method)) {
unset($this->listeners[$eventName][$key]);
public function hasListeners($eventName = null)
{
if (null === $eventName) {
- return (bool) count($this->listenerIds) || (bool) count($this->listeners);
+ return $this->listenerIds || $this->listeners || parent::hasListeners();
}
if (isset($this->listenerIds[$eventName])) {
protected function lazyLoad($eventName)
{
if (isset($this->listenerIds[$eventName])) {
- foreach ($this->listenerIds[$eventName] as $args) {
- list($serviceId, $method, $priority) = $args;
+ foreach ($this->listenerIds[$eventName] as list($serviceId, $method, $priority)) {
$listener = $this->container->get($serviceId);
$key = $serviceId.'.'.$method;