You are here

EventDataCollector.php in Zircon Profile 8.0

Same filename and directory in other branches
  1. 8 vendor/symfony/http-kernel/DataCollector/EventDataCollector.php

File

vendor/symfony/http-kernel/DataCollector/EventDataCollector.php
View source
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
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;

/**
 * EventDataCollector.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class EventDataCollector extends DataCollector implements LateDataCollectorInterface {
  protected $dispatcher;
  public function __construct(EventDispatcherInterface $dispatcher = null) {
    $this->dispatcher = $dispatcher;
  }

  /**
   * {@inheritdoc}
   */
  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());
    }
  }

  /**
   * Sets the called listeners.
   *
   * @param array $listeners An array of called listeners
   *
   * @see TraceableEventDispatcherInterface
   */
  public function setCalledListeners(array $listeners) {
    $this->data['called_listeners'] = $listeners;
  }

  /**
   * Gets the called listeners.
   *
   * @return array An array of called listeners
   *
   * @see TraceableEventDispatcherInterface
   */
  public function getCalledListeners() {
    return $this->data['called_listeners'];
  }

  /**
   * Sets the not called listeners.
   *
   * @param array $listeners An array of not called listeners
   *
   * @see TraceableEventDispatcherInterface
   */
  public function setNotCalledListeners(array $listeners) {
    $this->data['not_called_listeners'] = $listeners;
  }

  /**
   * Gets the not called listeners.
   *
   * @return array An array of not called listeners
   *
   * @see TraceableEventDispatcherInterface
   */
  public function getNotCalledListeners() {
    return $this->data['not_called_listeners'];
  }

  /**
   * {@inheritdoc}
   */
  public function getName() {
    return 'events';
  }

}

Classes

Namesort descending Description
EventDataCollector EventDataCollector.