array ( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'aliases' => array ( ), 'reference' => '25b75b039e2ecaf9ecda4a8da079e7cbbb57e319', 'name' => 'topthink/think', ), 'versions' => array ( 'adbario/php-dot-notation' => array ( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', 'aliases' => array ( ), 'reference' => 'eee4fc81296531e6aafba4c2bbccfc5adab1676e', ), 'alibabacloud/client' => array ( 'pretty_version' => '1.5.29', 'version' => '1.5.29.0', 'aliases' => array ( ), 'reference' => '2d0137828ef5c44664dcb8cc90eac4f545dd3301', ), 'alibabacloud/tea' => array ( 'pretty_version' => '3.1.20', 'version' => '3.1.20.0', 'aliases' => array ( ), 'reference' => '03926337225a8c039d1512fd7a920b2dcfb3ff42', ), 'alibabacloud/tea-fileform' => array ( 'pretty_version' => '0.3.4', 'version' => '0.3.4.0', 'aliases' => array ( ), 'reference' => '4bf0c75a045c8115aa8cb1a394bd08d8bb833181', ), 'alipaysdk/easysdk' => array ( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', 'aliases' => array ( ), 'reference' => '7a1cfa83c7e140bded957498ea072c77611e6480', ), 'aliyuncs/oss-sdk-php' => array ( 'pretty_version' => 'v2.4.1', 'version' => '2.4.1.0', 'aliases' => array ( ), 'reference' => '492866331b7bafaac09506cf42f351b7e9e63766', ), 'clagiordano/weblibs-configmanager' => array ( 'pretty_version' => 'v1.1.0', 'version' => '1.1.0.0', 'aliases' => array ( ), 'reference' => 'ecf584f5b3a27929175ff0abdba52f0131bef795', ), 'danielstjules/stringy' => array ( 'pretty_version' => '3.1.0', 'version' => '3.1.0.0', 'aliases' => array ( ), 'reference' => 'df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e', ), 'endroid/qr-code' => array ( 'pretty_version' => '1.9.3', 'version' => '1.9.3.0', 'aliases' => array ( ), 'reference' => 'c9644bec2a9cc9318e98d1437de3c628dcd1ef93', ), 'ezyang/htmlpurifier' => array ( 'pretty_version' => 'v4.13.0', 'version' => '4.13.0.0', 'aliases' => array ( ), 'reference' => '08e27c97e4c6ed02f37c5b2b20488046c8d90d75', ), 'guzzlehttp/guzzle' => array ( 'pretty_version' => '7.2.0', 'version' => '7.2.0.0', 'aliases' => array ( ), 'reference' => '0aa74dfb41ae110835923ef10a9d803a22d50e79', ), 'guzzlehttp/promises' => array ( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', 'aliases' => array ( ), 'reference' => '60d379c243457e073cff02bc323a2a86cb355631', ), 'guzzlehttp/psr7' => array ( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', 'aliases' => array ( ), 'reference' => '53330f47520498c0ae1f61f7e2c90f55690c06a3', ), 'lcobucci/jwt' => array ( 'pretty_version' => '3.4.5', 'version' => '3.4.5.0', 'aliases' => array ( ), 'reference' => '511629a54465e89a31d3d7e4cf0935feab8b14c1', ), 'league/flysystem' => array ( 'pretty_version' => '1.1.3', 'version' => '1.1.3.0', 'aliases' => array ( ), 'reference' => '9be3b16c877d477357c015cec057548cf9b2a14a', ), 'league/flysystem-cached-adapter' => array ( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'aliases' => array ( ), 'reference' => 'd1925efb2207ac4be3ad0c40b8277175f99ffaff', ), 'league/mime-type-detection' => array ( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', 'aliases' => array ( ), 'reference' => '3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3', ), 'liliuwei/thinkphp-jump' => array ( 'pretty_version' => 'v1.5', 'version' => '1.5.0.0', 'aliases' => array ( ), 'reference' => '481d41b922095f08230609919be5d19354c50540', ), 'maennchen/zipstream-php' => array ( 'pretty_version' => '2.1.0', 'version' => '2.1.0.0', 'aliases' => array ( ), 'reference' => 'c4c5803cc1f93df3d2448478ef79394a5981cc58', ), 'markbaker/complex' => array ( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'aliases' => array ( ), 'reference' => '9999f1432fae467bc93c53f357105b4c31bb994c', ), 'markbaker/matrix' => array ( 'pretty_version' => '2.1.2', 'version' => '2.1.2.0', 'aliases' => array ( ), 'reference' => '361c0f545c3172ee26c3d596a0aa03f0cef65e6a', ), 'monolog/monolog' => array ( 'pretty_version' => '2.3.5', 'version' => '2.3.5.0', 'aliases' => array ( ), 'reference' => 'fd4380d6fc37626e2f799f29d91195040137eba9', ), 'mtdowling/jmespath.php' => array ( 'pretty_version' => '2.6.0', 'version' => '2.6.0.0', 'aliases' => array ( ), 'reference' => '42dae2cbd13154083ca6d70099692fef8ca84bfb', ), 'myclabs/php-enum' => array ( 'pretty_version' => '1.7.7', 'version' => '1.7.7.0', 'aliases' => array ( ), 'reference' => 'd178027d1e679832db9f38248fcc7200647dc2b7', ), 'phpmailer/phpmailer' => array ( 'pretty_version' => 'v6.5.0', 'version' => '6.5.0.0', 'aliases' => array ( ), 'reference' => 'e38888a75c070304ca5514197d4847a59a5c853f', ), 'phpoffice/phpspreadsheet' => array ( 'pretty_version' => '1.16.0', 'version' => '1.16.0.0', 'aliases' => array ( ), 'reference' => '76d4323b85129d0c368149c831a07a3e258b2b50', ), 'pimple/pimple' => array ( 'pretty_version' => 'v3.3.1', 'version' => '3.3.1.0', 'aliases' => array ( ), 'reference' => '21e45061c3429b1e06233475cc0e1f6fc774d5b0', ), 'psr/cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', ), 'psr/cache-implementation' => array ( 'provided' => array ( 0 => '1.0|2.0', ), ), 'psr/container' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f', ), 'psr/http-client' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', ), 'psr/http-client-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-factory' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be', ), 'psr/http-message' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', ), 'psr/http-message-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/log' => array ( 'pretty_version' => '1.1.3', 'version' => '1.1.3.0', 'aliases' => array ( ), 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc', ), 'psr/log-implementation' => array ( 'provided' => array ( 0 => '1.0.0 || 2.0.0 || 3.0.0', ), ), 'psr/simple-cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', ), 'psr/simple-cache-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'ralouphie/getallheaders' => array ( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'aliases' => array ( ), 'reference' => '120b605dfeb996808c31b6477290a714d356e822', ), 'songshenzong/support' => array ( 'pretty_version' => '2.0.5', 'version' => '2.0.5.0', 'aliases' => array ( ), 'reference' => '34973c04ffcf226e503f1c3a69d30ac49f7621f6', ), 'symfony/cache' => array ( 'pretty_version' => 'v4.4.33', 'version' => '4.4.33.0', 'aliases' => array ( ), 'reference' => '7342bf4f6f433cc1ee7fc6ec0a627951da5d92f5', ), 'symfony/cache-contracts' => array ( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', 'aliases' => array ( ), 'reference' => 'c0446463729b89dd4fa62e9aeecc80287323615d', ), 'symfony/cache-implementation' => array ( 'provided' => array ( 0 => '1.0|2.0', ), ), 'symfony/deprecation-contracts' => array ( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', 'aliases' => array ( ), 'reference' => '5f38c8804a9e97d23e0c8d63341088cd8a22d627', ), 'symfony/http-foundation' => array ( 'pretty_version' => 'v5.3.10', 'version' => '5.3.10.0', 'aliases' => array ( ), 'reference' => '9f34f02e8a5fdc7a56bafe011cea1ce97300e54c', ), 'symfony/options-resolver' => array ( 'pretty_version' => 'v3.4.47', 'version' => '3.4.47.0', 'aliases' => array ( ), 'reference' => 'c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744', ), 'symfony/polyfill-mbstring' => array ( 'pretty_version' => 'v1.22.0', 'version' => '1.22.0.0', 'aliases' => array ( ), 'reference' => 'f377a3dd1fde44d37b9831d68dc8dea3ffd28e13', ), 'symfony/polyfill-php72' => array ( 'pretty_version' => 'v1.22.0', 'version' => '1.22.0.0', 'aliases' => array ( ), 'reference' => 'cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9', ), 'symfony/polyfill-php73' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => 'fba8933c384d6476ab14fb7b8526e5287ca7e010', ), 'symfony/polyfill-php80' => array ( 'pretty_version' => 'v1.22.0', 'version' => '1.22.0.0', 'aliases' => array ( ), 'reference' => 'dc3063ba22c2a1fd2f45ed856374d79114998f91', ), 'symfony/service-contracts' => array ( 'pretty_version' => 'v2.2.0', 'version' => '2.2.0.0', 'aliases' => array ( ), 'reference' => 'd15da7ba4957ffb8f1747218be9e1a121fd298a1', ), 'symfony/var-dumper' => array ( 'pretty_version' => 'v4.4.19', 'version' => '4.4.19.0', 'aliases' => array ( ), 'reference' => 'a1eab2f69906dc83c5ddba4632180260d0ab4f7f', ), 'symfony/var-exporter' => array ( 'pretty_version' => 'v5.3.8', 'version' => '5.3.8.0', 'aliases' => array ( ), 'reference' => 'a7604de14bcf472fe8e33f758e9e5b7bf07d3b91', ), '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' => '25b75b039e2ecaf9ecda4a8da079e7cbbb57e319', ), 'topthink/think-captcha' => array ( 'pretty_version' => 'v3.0.3', 'version' => '3.0.3.0', 'aliases' => array ( ), 'reference' => '1eef3717c1bcf4f5bbe2d1a1c704011d330a8b55', ), 'topthink/think-helper' => array ( 'pretty_version' => 'v3.1.4', 'version' => '3.1.4.0', 'aliases' => array ( ), 'reference' => 'c28d37743bda4a0455286ca85b17b5791d626e10', ), 'topthink/think-image' => array ( 'pretty_version' => 'v1.0.7', 'version' => '1.0.7.0', 'aliases' => array ( ), 'reference' => '8586cf47f117481c6d415b20f7dedf62e79d5512', ), '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.36', 'version' => '2.0.36.0', 'aliases' => array ( ), 'reference' => 'f48dc09050f25029d41a66bfc9c3c403e4f82024', ), 'topthink/think-template' => array ( 'pretty_version' => 'v2.0.8', 'version' => '2.0.8.0', 'aliases' => array ( ), 'reference' => 'abfc293f74f9ef5127b5c416310a01fe42e59368', ), 'topthink/think-trace' => array ( 'pretty_version' => 'v1.4', 'version' => '1.4.0.0', 'aliases' => array ( ), 'reference' => '9a9fa8f767b6c66c5a133ad21ca1bc96ad329444', ), 'topthink/think-view' => array ( 'pretty_version' => 'v1.0.14', 'version' => '1.0.14.0', 'aliases' => array ( ), 'reference' => 'edce0ae2c9551ab65f9e94a222604b0dead3576d', ), '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', ), 'xin/container' => array ( 'pretty_version' => '2.0.1', 'version' => '2.0.1.0', 'aliases' => array ( ), 'reference' => '97bb67f87dd851545938a1f2fe0ffbd379e3ff81', ), 'xin/helper' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => '02a58132dae2aea2d1c0b8e66f55125969224747', ), 'xzncit/developer-tools' => array ( 'pretty_version' => '0.5.2', 'version' => '0.5.2.0', 'aliases' => array ( ), 'reference' => 'd96706bd640d0acaecbdfd4d1450649427b30af3', ), ), ); 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; } }