You are here

class EnvParametersResource in Zircon Profile 8

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

EnvParametersResource represents resources stored in prefixed environment variables.

@author Chris Wilkinson <chriswilkinson84@gmail.com>

Hierarchy

  • class \Symfony\Component\HttpKernel\Config\EnvParametersResource implements \Symfony\Component\Config\Resource\ResourceInterface, \Symfony\Component\HttpKernel\Config\Serializable

Expanded class hierarchy of EnvParametersResource

3 files declare their use of EnvParametersResource
EnvParametersResourceTest.php in vendor/symfony/http-kernel/Tests/Config/EnvParametersResourceTest.php
Kernel.php in vendor/symfony/http-kernel/Kernel.php
KernelTest.php in vendor/symfony/http-kernel/Tests/KernelTest.php

File

vendor/symfony/http-kernel/Config/EnvParametersResource.php, line 21

Namespace

Symfony\Component\HttpKernel\Config
View source
class EnvParametersResource implements ResourceInterface, \Serializable {

  /**
   * @var string
   */
  private $prefix;

  /**
   * @var string
   */
  private $variables;

  /**
   * Constructor.
   *
   * @param string $prefix
   */
  public function __construct($prefix) {
    $this->prefix = $prefix;
    $this->variables = $this
      ->findVariables();
  }

  /**
   * {@inheritdoc}
   */
  public function __toString() {
    return serialize($this
      ->getResource());
  }

  /**
   * {@inheritdoc}
   */
  public function getResource() {
    return array(
      'prefix' => $this->prefix,
      'variables' => $this->variables,
    );
  }

  /**
   * {@inheritdoc}
   */
  public function isFresh($timestamp) {
    return $this
      ->findVariables() === $this->variables;
  }
  public function serialize() {
    return serialize(array(
      'prefix' => $this->prefix,
      'variables' => $this->variables,
    ));
  }
  public function unserialize($serialized) {
    $unserialized = unserialize($serialized);
    $this->prefix = $unserialized['prefix'];
    $this->variables = $unserialized['variables'];
  }
  private function findVariables() {
    $variables = array();
    foreach ($_SERVER as $key => $value) {
      if (0 === strpos($key, $this->prefix)) {
        $variables[$key] = $value;
      }
    }
    ksort($variables);
    return $variables;
  }

}

Members