X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fsymfony%2Fdependency-injection%2FConfig%2FAutowireServiceResource.php;fp=vendor%2Fsymfony%2Fdependency-injection%2FConfig%2FAutowireServiceResource.php;h=36449d8d3042a3aec5ece8b3b91a0e6f827b41b3;hp=0000000000000000000000000000000000000000;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hpb=aea91e65e895364e460983b890e295aa5d5540a5 diff --git a/vendor/symfony/dependency-injection/Config/AutowireServiceResource.php b/vendor/symfony/dependency-injection/Config/AutowireServiceResource.php new file mode 100644 index 000000000..36449d8d3 --- /dev/null +++ b/vendor/symfony/dependency-injection/Config/AutowireServiceResource.php @@ -0,0 +1,73 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\DependencyInjection\Config; + +use Symfony\Component\Config\Resource\SelfCheckingResourceInterface; +use Symfony\Component\DependencyInjection\Compiler\AutowirePass; + +class AutowireServiceResource implements SelfCheckingResourceInterface, \Serializable +{ + private $class; + private $filePath; + private $autowiringMetadata = array(); + + public function __construct($class, $path, array $autowiringMetadata) + { + $this->class = $class; + $this->filePath = $path; + $this->autowiringMetadata = $autowiringMetadata; + } + + public function isFresh($timestamp) + { + if (!file_exists($this->filePath)) { + return false; + } + + // has the file *not* been modified? Definitely fresh + if (@filemtime($this->filePath) <= $timestamp) { + return true; + } + + try { + $reflectionClass = new \ReflectionClass($this->class); + } catch (\ReflectionException $e) { + // the class does not exist anymore! + return false; + } + + return (array) $this === (array) AutowirePass::createResourceForClass($reflectionClass); + } + + public function __toString() + { + return 'service.autowire.'.$this->class; + } + + public function serialize() + { + return serialize(array($this->class, $this->filePath, $this->autowiringMetadata)); + } + + public function unserialize($serialized) + { + list($this->class, $this->filePath, $this->autowiringMetadata) = unserialize($serialized); + } + + /** + * @deprecated Implemented for compatibility with Symfony 2.8 + */ + public function getResource() + { + return $this->filePath; + } +}