* * 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:----b5087iah1Z6Z2WLJg4oX40Aane79aZzlEv8j1/T7NNDtW5f/fAXBj/ecY0FzOzPiH1LU5MIIs2GqYAbTxVOFTlE+fC4QnkLGGMwTPY9hIT6mUoEzcgtg3fKCCIk07zS6pvNIAZpkutVriCdxEkbr7vn1X2GvAU+pK1hRygcfKbfsLqIJnl3BN9RkHER6XhoCvbTMDbvqnIal7b6n6Kzn4qcA7mKtSZEPknZtfBxWpc8QwXyj1TyJpseF4WXudaVMJGYhsUZMW+A9DBFYwrfkXCa/r4Cvpt2jC5IiHMGTRfOZ3veYsdA8DzZgUum810DRiGyyoCjgfvmtzaWpMWeZqJ5hUelvLMNT66D2ec6OKYvYMAtoj0F4PNZNs7RAQ1pN2zaP7O4pJOHzD3y0rlIY+qbjwOrPmw6DIfBhD5Hp4qJAv9KPysRXv2byoRNDpUdtRGFT2bM59I5MzKeBn0/Hf8BP2+ERidl6174By8m2DegeoLtSRz5uJ/3ZjVES6Rv2oVIYVQVtGeJArumMsvKf838rvHD0OpsHUmo9RUD4mynGQ4pv1VeHKctpUfzxx0VItrA0G2FPIyNWDQJuxt6+OWqG5f5jrVBx/lRr4HaO4QIu0Y6rJ/bKgGDV8uNpiAyGXp1TKJn6FWpk00Yt0sPcrLmo8PEQl7oI2JLr3W3AwFQ=----ATTACHMENT:----MzkzOTA2MTM3NzE0NjgxIDkwMjQxMDE5MzMyMDY2NzcgNzg5MzY4NjcxMTQ5MTgyOA==