You are here

class ConfigDataCollector in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php \Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector

ConfigDataCollector.

@author Fabien Potencier <fabien@symfony.com>

Hierarchy

Expanded class hierarchy of ConfigDataCollector

1 file declares its use of ConfigDataCollector
ConfigDataCollectorTest.php in vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php

File

vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php, line 24

Namespace

Symfony\Component\HttpKernel\DataCollector
View source
class ConfigDataCollector extends DataCollector {

  /**
   * @var KernelInterface
   */
  private $kernel;
  private $name;
  private $version;
  private $cacheVersionInfo = true;

  /**
   * Constructor.
   *
   * @param string $name    The name of the application using the web profiler
   * @param string $version The version of the application using the web profiler
   */
  public function __construct($name = null, $version = null) {
    $this->name = $name;
    $this->version = $version;
  }

  /**
   * Sets the Kernel associated with this Request.
   *
   * @param KernelInterface $kernel A KernelInterface instance
   */
  public function setKernel(KernelInterface $kernel = null) {
    $this->kernel = $kernel;
  }

  /**
   * {@inheritdoc}
   */
  public function collect(Request $request, Response $response, \Exception $exception = null) {
    $this->data = array(
      'app_name' => $this->name,
      'app_version' => $this->version,
      'token' => $response->headers
        ->get('X-Debug-Token'),
      'symfony_version' => Kernel::VERSION,
      'symfony_state' => 'unknown',
      'name' => isset($this->kernel) ? $this->kernel
        ->getName() : 'n/a',
      'env' => isset($this->kernel) ? $this->kernel
        ->getEnvironment() : 'n/a',
      'debug' => isset($this->kernel) ? $this->kernel
        ->isDebug() : 'n/a',
      'php_version' => PHP_VERSION,
      'xdebug_enabled' => extension_loaded('xdebug'),
      'eaccel_enabled' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'),
      'apc_enabled' => extension_loaded('apc') && ini_get('apc.enabled'),
      'xcache_enabled' => extension_loaded('xcache') && ini_get('xcache.cacher'),
      'wincache_enabled' => extension_loaded('wincache') && ini_get('wincache.ocenabled'),
      'zend_opcache_enabled' => extension_loaded('Zend OPcache') && ini_get('opcache.enable'),
      'bundles' => array(),
      'sapi_name' => php_sapi_name(),
    );
    if (isset($this->kernel)) {
      foreach ($this->kernel
        ->getBundles() as $name => $bundle) {
        $this->data['bundles'][$name] = $bundle
          ->getPath();
      }
      $this->data['symfony_state'] = $this
        ->determineSymfonyState();
    }
  }
  public function getApplicationName() {
    return $this->data['app_name'];
  }
  public function getApplicationVersion() {
    return $this->data['app_version'];
  }

  /**
   * Gets the token.
   *
   * @return string The token
   */
  public function getToken() {
    return $this->data['token'];
  }

  /**
   * Gets the Symfony version.
   *
   * @return string The Symfony version
   */
  public function getSymfonyVersion() {
    return $this->data['symfony_version'];
  }

  /**
   * Returns the state of the current Symfony release.
   *
   * @return string One of: unknown, dev, stable, eom, eol
   */
  public function getSymfonyState() {
    return $this->data['symfony_state'];
  }
  public function setCacheVersionInfo($cacheVersionInfo) {
    $this->cacheVersionInfo = $cacheVersionInfo;
  }

  /**
   * Gets the PHP version.
   *
   * @return string The PHP version
   */
  public function getPhpVersion() {
    return $this->data['php_version'];
  }

  /**
   * Gets the application name.
   *
   * @return string The application name
   */
  public function getAppName() {
    return $this->data['name'];
  }

  /**
   * Gets the environment.
   *
   * @return string The environment
   */
  public function getEnv() {
    return $this->data['env'];
  }

  /**
   * Returns true if the debug is enabled.
   *
   * @return bool true if debug is enabled, false otherwise
   */
  public function isDebug() {
    return $this->data['debug'];
  }

  /**
   * Returns true if the XDebug is enabled.
   *
   * @return bool true if XDebug is enabled, false otherwise
   */
  public function hasXDebug() {
    return $this->data['xdebug_enabled'];
  }

  /**
   * Returns true if EAccelerator is enabled.
   *
   * @return bool true if EAccelerator is enabled, false otherwise
   */
  public function hasEAccelerator() {
    return $this->data['eaccel_enabled'];
  }

  /**
   * Returns true if APC is enabled.
   *
   * @return bool true if APC is enabled, false otherwise
   */
  public function hasApc() {
    return $this->data['apc_enabled'];
  }

  /**
   * Returns true if Zend OPcache is enabled.
   *
   * @return bool true if Zend OPcache is enabled, false otherwise
   */
  public function hasZendOpcache() {
    return $this->data['zend_opcache_enabled'];
  }

  /**
   * Returns true if XCache is enabled.
   *
   * @return bool true if XCache is enabled, false otherwise
   */
  public function hasXCache() {
    return $this->data['xcache_enabled'];
  }

  /**
   * Returns true if WinCache is enabled.
   *
   * @return bool true if WinCache is enabled, false otherwise
   */
  public function hasWinCache() {
    return $this->data['wincache_enabled'];
  }

  /**
   * Returns true if any accelerator is enabled.
   *
   * @return bool true if any accelerator is enabled, false otherwise
   */
  public function hasAccelerator() {
    return $this
      ->hasApc() || $this
      ->hasZendOpcache() || $this
      ->hasEAccelerator() || $this
      ->hasXCache() || $this
      ->hasWinCache();
  }
  public function getBundles() {
    return $this->data['bundles'];
  }

  /**
   * Gets the PHP SAPI name.
   *
   * @return string The environment
   */
  public function getSapiName() {
    return $this->data['sapi_name'];
  }

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

  /**
   * Tries to retrieve information about the current Symfony version.
   *
   * @return string One of: dev, stable, eom, eol
   */
  private function determineSymfonyState() {
    $now = new \DateTime();
    $eom = \DateTime::createFromFormat('m/Y', Kernel::END_OF_MAINTENANCE)
      ->modify('last day of this month');
    $eol = \DateTime::createFromFormat('m/Y', Kernel::END_OF_LIFE)
      ->modify('last day of this month');
    if ($now > $eol) {
      $versionState = 'eol';
    }
    elseif ($now > $eom) {
      $versionState = 'eom';
    }
    elseif ('' !== Kernel::EXTRA_VERSION) {
      $versionState = 'dev';
    }
    else {
      $versionState = 'stable';
    }
    return $versionState;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigDataCollector::$cacheVersionInfo private property
ConfigDataCollector::$kernel private property
ConfigDataCollector::$name private property
ConfigDataCollector::$version private property
ConfigDataCollector::collect public function Collects data for the given Request and Response. Overrides DataCollectorInterface::collect
ConfigDataCollector::determineSymfonyState private function Tries to retrieve information about the current Symfony version.
ConfigDataCollector::getApplicationName public function
ConfigDataCollector::getApplicationVersion public function
ConfigDataCollector::getAppName public function Gets the application name.
ConfigDataCollector::getBundles public function
ConfigDataCollector::getEnv public function Gets the environment.
ConfigDataCollector::getName public function Returns the name of the collector. Overrides DataCollectorInterface::getName
ConfigDataCollector::getPhpVersion public function Gets the PHP version.
ConfigDataCollector::getSapiName public function Gets the PHP SAPI name.
ConfigDataCollector::getSymfonyState public function Returns the state of the current Symfony release.
ConfigDataCollector::getSymfonyVersion public function Gets the Symfony version.
ConfigDataCollector::getToken public function Gets the token.
ConfigDataCollector::hasAccelerator public function Returns true if any accelerator is enabled.
ConfigDataCollector::hasApc public function Returns true if APC is enabled.
ConfigDataCollector::hasEAccelerator public function Returns true if EAccelerator is enabled.
ConfigDataCollector::hasWinCache public function Returns true if WinCache is enabled.
ConfigDataCollector::hasXCache public function Returns true if XCache is enabled.
ConfigDataCollector::hasXDebug public function Returns true if the XDebug is enabled.
ConfigDataCollector::hasZendOpcache public function Returns true if Zend OPcache is enabled.
ConfigDataCollector::isDebug public function Returns true if the debug is enabled.
ConfigDataCollector::setCacheVersionInfo public function
ConfigDataCollector::setKernel public function Sets the Kernel associated with this Request.
ConfigDataCollector::__construct public function Constructor.
DataCollector::$data protected property
DataCollector::$valueExporter private property
DataCollector::serialize public function 1
DataCollector::unserialize public function 1
DataCollector::varToString protected function Converts a PHP variable to a string.