array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( ), 'reference' => 'e9631f384ff2283c6b197e77e03b69610bed7dea', 'name' => 'topthink/think', ), 'versions' => array ( 'aliyuncs/oss-sdk-php' => array ( 'pretty_version' => 'v2.3.1', 'version' => '2.3.1.0', 'aliases' => array ( ), 'reference' => '053d7ba9e798e4c09b9c5c1edab153d25ea9643a', ), 'edward1108/edward-captcha' => array ( 'pretty_version' => '1.1', 'version' => '1.1.0.0', 'aliases' => array ( ), 'reference' => '426ceee34507c30d4b21e0dd349b571371aef700', ), 'guzzle/batch' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/cache' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/common' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/guzzle' => array ( 'pretty_version' => 'v3.9.3', 'version' => '3.9.3.0', 'aliases' => array ( ), 'reference' => '0645b70d953bc1c067bbc8d5bc53194706b628d9', ), 'guzzle/http' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/inflection' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/iterator' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/log' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/parser' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-async' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-backoff' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-cache' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-cookie' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-curlauth' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-error-response' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-history' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-log' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-md5' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-mock' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/plugin-oauth' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/service' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'guzzle/stream' => array ( 'replaced' => array ( 0 => 'v3.9.3', ), ), 'kosinix/grafika' => array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( ), 'reference' => '211f61fc334b8b36616b23e8af7c5727971d96ee', ), 'league/flysystem' => array ( 'pretty_version' => '1.0.69', 'version' => '1.0.69.0', 'aliases' => array ( ), 'reference' => '7106f78428a344bc4f643c233a94e48795f10967', ), 'league/flysystem-cached-adapter' => array ( 'pretty_version' => '1.0.9', 'version' => '1.0.9.0', 'aliases' => array ( ), 'reference' => '08ef74e9be88100807a3b92cc9048a312bf01d6f', ), 'lvht/geohash' => array ( 'pretty_version' => 'v1.1.0', 'version' => '1.1.0.0', 'aliases' => array ( ), 'reference' => 'bbba3e1b487f0ec2e5e666c1bc9d1d4277990a29', ), 'myclabs/php-enum' => array ( 'pretty_version' => '1.7.6', 'version' => '1.7.6.0', 'aliases' => array ( ), 'reference' => '5f36467c7a87e20fbdc51e524fd8f9d1de80187c', ), 'psr/cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', ), 'psr/container' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f', ), 'psr/log' => array ( 'pretty_version' => '1.1.3', 'version' => '1.1.3.0', 'aliases' => array ( ), 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc', ), 'psr/simple-cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', ), 'qcloud/cos-sdk-v5' => array ( 'pretty_version' => 'v1.3.4', 'version' => '1.3.4.0', 'aliases' => array ( ), 'reference' => '1b32aa422f6dffe4ea411e5095e4b0da9135551b', ), 'qiniu/php-sdk' => array ( 'pretty_version' => 'v7.2.10', 'version' => '7.2.10.0', 'aliases' => array ( ), 'reference' => 'd89987163f560ebf9dfa5bb25de9bd9b1a3b2bd8', ), 'symfony/event-dispatcher' => array ( 'pretty_version' => 'v2.8.52', 'version' => '2.8.52.0', 'aliases' => array ( ), 'reference' => 'a77e974a5fecb4398833b0709210e3d5e334ffb0', ), 'symfony/polyfill-mbstring' => array ( 'pretty_version' => 'v1.17.1', 'version' => '1.17.1.0', 'aliases' => array ( ), 'reference' => '7110338d81ce1cbc3e273136e4574663627037a7', ), 'symfony/polyfill-php72' => array ( 'pretty_version' => 'v1.17.0', 'version' => '1.17.0.0', 'aliases' => array ( ), 'reference' => 'f048e612a3905f34931127360bdd2def19a5e582', ), 'symfony/polyfill-php80' => array ( 'pretty_version' => 'v1.17.1', 'version' => '1.17.1.0', 'aliases' => array ( ), 'reference' => '4a5b6bba3259902e386eb80dd1956181ee90b5b2', ), 'symfony/var-dumper' => array ( 'pretty_version' => 'v4.4.10', 'version' => '4.4.10.0', 'aliases' => array ( ), 'reference' => '56b3aa5eab0ac6720dcd559fd1d590ce301594ac', ), 'topthink/framework' => array ( 'pretty_version' => 'v6.0.7', 'version' => '6.0.7.0', 'aliases' => array ( ), 'reference' => 'db8fe22520a9660dd5e4c87e304034ac49e39270', ), 'topthink/think' => array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( ), 'reference' => 'e9631f384ff2283c6b197e77e03b69610bed7dea', ), 'topthink/think-helper' => array ( 'pretty_version' => 'v3.1.4', 'version' => '3.1.4.0', 'aliases' => array ( ), 'reference' => 'c28d37743bda4a0455286ca85b17b5791d626e10', ), 'topthink/think-multi-app' => array ( 'pretty_version' => 'v1.0.14', 'version' => '1.0.14.0', 'aliases' => array ( ), 'reference' => 'ccaad7c2d33f42cb1cc2a78d6610aaec02cea4c3', ), 'topthink/think-orm' => array ( 'pretty_version' => 'v2.0.33', 'version' => '2.0.33.0', 'aliases' => array ( ), 'reference' => '35ca511a1e4d671b39f7afb4c887703c16ef6957', ), 'topthink/think-trace' => array ( 'pretty_version' => 'v1.3', 'version' => '1.3.0.0', 'aliases' => array ( ), 'reference' => 'd8da2e39df268ab8775013de699f0c3012e51318', ), 'topthink/think-worker' => array ( 'pretty_version' => 'v3.0.5', 'version' => '3.0.5.0', 'aliases' => array ( ), 'reference' => 'dc0ac655a0a2efda073ec18e67668bc02d17cabe', ), 'workerman/gateway-worker' => array ( 'pretty_version' => 'v3.0.19', 'version' => '3.0.19.0', 'aliases' => array ( ), 'reference' => '720cb0f23c3ae5f0143b3457901e177dd3d54387', ), 'workerman/workerman' => array ( 'pretty_version' => 'v3.5.31', 'version' => '3.5.31.0', 'aliases' => array ( ), 'reference' => 'b73ddc45b3c7299f330923a2bde23ca6e974fd96', ), ), ); public static function getInstalledPackages() { return array_keys(self::$installed['versions']); } public static function isInstalled($packageName) { return isset(self::$installed['versions'][$packageName]); } public static function satisfies(VersionParser $parser, $packageName, $constraint) { $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); } public static function getVersionRanges($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } $ranges = array(); if (isset(self::$installed['versions'][$packageName]['pretty_version'])) { $ranges[] = self::$installed['versions'][$packageName]['pretty_version']; } if (array_key_exists('aliases', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']); } if (array_key_exists('replaced', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']); } if (array_key_exists('provided', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']); } return implode(' || ', $ranges); } public static function getVersion($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['version'])) { return null; } return self::$installed['versions'][$packageName]['version']; } public static function getPrettyVersion($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) { return null; } return self::$installed['versions'][$packageName]['pretty_version']; } public static function getReference($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['reference'])) { return null; } return self::$installed['versions'][$packageName]['reference']; } public static function getRootPackage() { return self::$installed['root']; } public static function getRawData() { return self::$installed; } public static function reload($data) { self::$installed = $data; } }