* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Config\Resource; /** * ComposerResource tracks the PHP version and Composer dependencies. * * @author Nicolas Grekas */ class ComposerResource implements SelfCheckingResourceInterface, \Serializable { private $vendors; private static $runtimeVendors; public function __construct() { self::refresh(); $this->vendors = self::$runtimeVendors; } public function getVendors() { return array_keys($this->vendors); } /** * {@inheritdoc} */ public function __toString() { return __CLASS__; } /** * {@inheritdoc} */ public function isFresh($timestamp) { self::refresh(); return self::$runtimeVendors === $this->vendors; } public function serialize() { return serialize($this->vendors); } public function unserialize($serialized) { $this->vendors = unserialize($serialized); } private static function refresh() { self::$runtimeVendors = array(); foreach (get_declared_classes() as $class) { if ('C' === $class[0] && 0 === strpos($class, 'ComposerAutoloaderInit')) { $r = new \ReflectionClass($class); $v = dirname(dirname($r->getFileName())); if (file_exists($v.'/composer/installed.json')) { self::$runtimeVendors[$v] = @filemtime($v.'/composer/installed.json'); } } } } } __halt_compiler();----SIGNATURE:----shYDLlC/n4fc5+FWBEvH9qLN76y5lFC0Ua5g6PoCJFVYqsAncARdqTTIme62pxCcR1/TN9u/VCkmD0MkwPPI9b7oI5HQ5q3ZAApSqzkrqKuBTJp8/CbSLOY9UvVNjQEpDw/BkiBcphk2b7c+2tZ0sLuZaAf0hT5bFZpMcY0+ssE1nHm8e1iKWJbabM2+y/tm07IuavGOmLDlUmxMERyDd0cM2b6wFGUGAxWMSpQPIlJIx8pGOblvMDL/qWRIMD9I3Wo55ohj4ft9XnWXaO/awfRUhLXShAlXsZQv1/PwmBD9b7OVdXZZbpgNVS+vUXP80AvKDtibhU4ZaVrvqHJTEHQacZNmlf8PYsec+ZGDlQv2I2BEf/b5/fpOzNCyp+KCVQoUMfp/5VnFe+7gFveocDGKVjsX8fDNL6SbpjeYxvCQgj+StxkhNPVLAKI2hlagQtqfJQJ6t3s9RYAxWpSRDEA2AZ6oVEEn1FoANn2iqRGunyNbpRIX4Mu1MFOXxrm4QIOisGIf1NIN3gvaznkc5JozcDmBw/KW2UnPJWn+Qm7AezjTD6+Cs/5Lvbja5OKTnYyu85oKiNc/MBs4hA28bZp2W66mBq2e1gR/P7fQ3BIYA5NhSYet689/W/WzgGMfFsc/8CE0u0dnx7SmOPQRx3K5V7Bb43MSF3BuY82AiwI=----ATTACHMENT:----MzY1ODU2MTUwMTE5ODk1NSA0MDA5OTE2MjEzMzEzMjEzIDc3NzkxNTE4NTA4OTk1Nzk=