EventDataCollector.php in Zircon Profile 8        
                          
                  
                        
  
  
  
  
File
  vendor/symfony/http-kernel/DataCollector/EventDataCollector.php
  
    View source  
  <?php
namespace Symfony\Component\HttpKernel\DataCollector;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface;
class EventDataCollector extends DataCollector implements LateDataCollectorInterface {
  protected $dispatcher;
  public function __construct(EventDispatcherInterface $dispatcher = null) {
    $this->dispatcher = $dispatcher;
  }
  
  public function collect(Request $request, Response $response, \Exception $exception = null) {
    $this->data = array(
      'called_listeners' => array(),
      'not_called_listeners' => array(),
    );
  }
  public function lateCollect() {
    if ($this->dispatcher instanceof TraceableEventDispatcherInterface) {
      $this
        ->setCalledListeners($this->dispatcher
        ->getCalledListeners());
      $this
        ->setNotCalledListeners($this->dispatcher
        ->getNotCalledListeners());
    }
  }
  
  public function setCalledListeners(array $listeners) {
    $this->data['called_listeners'] = $listeners;
  }
  
  public function getCalledListeners() {
    return $this->data['called_listeners'];
  }
  
  public function setNotCalledListeners(array $listeners) {
    $this->data['not_called_listeners'] = $listeners;
  }
  
  public function getNotCalledListeners() {
    return $this->data['not_called_listeners'];
  }
  
  public function getName() {
    return 'events';
  }
}