1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- namespace Symfony\Component\HttpKernel\Config;
- use Symfony\Component\Config\Resource\SelfCheckingResourceInterface;
- class EnvParametersResource implements SelfCheckingResourceInterface, \Serializable
- {
-
- private $prefix;
-
- private $variables;
-
- public function __construct($prefix)
- {
- $this->prefix = $prefix;
- $this->variables = $this->findVariables();
- }
-
- public function __toString()
- {
- return serialize($this->getResource());
- }
-
- public function getResource()
- {
- return array('prefix' => $this->prefix, 'variables' => $this->variables);
- }
-
- 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;
- }
- }
|