1<?php 2/** 3 * Zend Framework (http://framework.zend.com/) 4 * 5 * @link http://github.com/zendframework/zf2 for the canonical source repository 6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 7 * @license http://framework.zend.com/license/new-bsd New BSD License 8 */ 9 10namespace Zend\EventManager; 11 12/** 13 * Abstract aggregate listener 14 */ 15abstract class AbstractListenerAggregate implements ListenerAggregateInterface 16{ 17 /** 18 * @var \Zend\Stdlib\CallbackHandler[] 19 */ 20 protected $listeners = array(); 21 22 /** 23 * {@inheritDoc} 24 */ 25 public function detach(EventManagerInterface $events) 26 { 27 foreach ($this->listeners as $index => $callback) { 28 if ($events->detach($callback)) { 29 unset($this->listeners[$index]); 30 } 31 } 32 } 33} 34