mirror of
				https://gitee.com/zoujingli/ThinkAdmin.git
				synced 2025-10-31 04:02:07 +08:00 
			
		
		
		
	ComposerUpdate
This commit is contained in:
		
							parent
							
								
									612077be96
								
							
						
					
					
						commit
						aa03aa6391
					
				
							
								
								
									
										4
									
								
								vendor/composer/ClassLoader.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/composer/ClassLoader.php
									
									
									
									
										vendored
									
									
								
							| @ -338,7 +338,7 @@ class ClassLoader | |||||||
|      * Loads the given class or interface. |      * Loads the given class or interface. | ||||||
|      * |      * | ||||||
|      * @param  string    $class The name of the class |      * @param  string    $class The name of the class | ||||||
|      * @return bool|null True if loaded, null otherwise |      * @return true|null True if loaded, null otherwise | ||||||
|      */ |      */ | ||||||
|     public function loadClass($class) |     public function loadClass($class) | ||||||
|     { |     { | ||||||
| @ -347,6 +347,8 @@ class ClassLoader | |||||||
| 
 | 
 | ||||||
|             return true; |             return true; | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         return null; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  | |||||||
							
								
								
									
										733
									
								
								vendor/composer/InstalledVersions.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										733
									
								
								vendor/composer/InstalledVersions.php
									
									
									
									
										vendored
									
									
								
							| @ -1,444 +1,325 @@ | |||||||
| <?php | <?php | ||||||
| 
 | 
 | ||||||
| 
 | /* | ||||||
| 
 |  * This file is part of Composer. | ||||||
| 
 |  * | ||||||
| 
 |  * (c) Nils Adermann <naderman@naderman.de> | ||||||
| 
 |  *     Jordi Boggiano <j.boggiano@seld.be> | ||||||
| 
 |  * | ||||||
| 
 |  * For the full copyright and license information, please view the LICENSE | ||||||
| 
 |  * file that was distributed with this source code. | ||||||
| 
 |  */ | ||||||
| 
 | 
 | ||||||
| namespace Composer; | namespace Composer; | ||||||
| 
 | 
 | ||||||
| use Composer\Autoload\ClassLoader; | use Composer\Autoload\ClassLoader; | ||||||
| use Composer\Semver\VersionParser; | use Composer\Semver\VersionParser; | ||||||
| 
 | 
 | ||||||
| 
 | /** | ||||||
| 
 |  * This class is copied in every Composer installed project and available to all | ||||||
| 
 |  * | ||||||
| 
 |  * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
 | ||||||
| 
 |  * | ||||||
| 
 |  * To require it's presence, you can require `composer-runtime-api ^2.0` | ||||||
| 
 |  */ | ||||||
| class InstalledVersions | class InstalledVersions | ||||||
| { | { | ||||||
| private static $installed = array ( |     private static $installed; | ||||||
|   'root' =>  |     private static $canGetVendors; | ||||||
|   array ( |     private static $installedByVendor = array(); | ||||||
|     'pretty_version' => '6.x-dev', |  | ||||||
|     'version' => '6.9999999.9999999.9999999-dev', |  | ||||||
|     'aliases' =>  |  | ||||||
|     array ( |  | ||||||
|     ), |  | ||||||
|     'reference' => 'd53fed33e1f513f043cccc0fbb69b48c0d9fbe41', |  | ||||||
|     'name' => 'zoujingli/thinkadmin', |  | ||||||
|   ), |  | ||||||
|   'versions' =>  |  | ||||||
|   array ( |  | ||||||
|     'endroid/qr-code' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '1.9.3', |  | ||||||
|       'version' => '1.9.3.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'c9644bec2a9cc9318e98d1437de3c628dcd1ef93', |  | ||||||
|     ), |  | ||||||
|     'league/flysystem' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '1.0.70', |  | ||||||
|       'version' => '1.0.70.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '585824702f534f8d3cf7fab7225e8466cc4b7493', |  | ||||||
|     ), |  | ||||||
|     'league/flysystem-cached-adapter' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '1.1.0', |  | ||||||
|       'version' => '1.1.0.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'd1925efb2207ac4be3ad0c40b8277175f99ffaff', |  | ||||||
|     ), |  | ||||||
|     '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.4', |  | ||||||
|       'version' => '1.1.4.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', |  | ||||||
|     ), |  | ||||||
|     'psr/simple-cache' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '1.0.1', |  | ||||||
|       'version' => '1.0.1.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', |  | ||||||
|     ), |  | ||||||
|     'symfony/options-resolver' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v3.4.47', |  | ||||||
|       'version' => '3.4.47.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744', |  | ||||||
|     ), |  | ||||||
|     'topthink/framework' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v6.0.8', |  | ||||||
|       'version' => '6.0.8.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '4789343672aef06d571d556da369c0e156609bce', |  | ||||||
|     ), |  | ||||||
|     'topthink/think-helper' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v3.1.4', |  | ||||||
|       'version' => '3.1.4.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'c28d37743bda4a0455286ca85b17b5791d626e10', |  | ||||||
|     ), |  | ||||||
|     'topthink/think-orm' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v2.0.40', |  | ||||||
|       'version' => '2.0.40.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '1119d979b850849f3725856460cf108eec1c3eb8', |  | ||||||
|     ), |  | ||||||
|     'topthink/think-template' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v2.0.8', |  | ||||||
|       'version' => '2.0.8.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'abfc293f74f9ef5127b5c416310a01fe42e59368', |  | ||||||
|     ), |  | ||||||
|     'topthink/think-view' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v1.0.14', |  | ||||||
|       'version' => '1.0.14.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'edce0ae2c9551ab65f9e94a222604b0dead3576d', |  | ||||||
|     ), |  | ||||||
|     'zoujingli/ip2region' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v1.0.10', |  | ||||||
|       'version' => '1.0.10.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '453480d0ab5b6fdbdf4aa400b7598a10ff2dc5c0', |  | ||||||
|     ), |  | ||||||
|     'zoujingli/think-library' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v6.0.x-dev', |  | ||||||
|       'version' => '6.0.9999999.9999999-dev', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|         0 => '9999999-dev', |  | ||||||
|       ), |  | ||||||
|       'reference' => 'dab37cf567def670988c452943022ff1b8bb4176', |  | ||||||
|     ), |  | ||||||
|     'zoujingli/thinkadmin' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '6.x-dev', |  | ||||||
|       'version' => '6.9999999.9999999.9999999-dev', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'd53fed33e1f513f043cccc0fbb69b48c0d9fbe41', |  | ||||||
|     ), |  | ||||||
|     'zoujingli/wechat-developer' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v1.2.31', |  | ||||||
|       'version' => '1.2.31.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '0cf699c725f69d66657a50e60d22f71c9e5a5e16', |  | ||||||
|     ), |  | ||||||
|   ), |  | ||||||
| ); |  | ||||||
| private static $canGetVendors; |  | ||||||
| private static $installedByVendor = array(); |  | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * Returns a list of all package names which are present, either by being installed, replaced or provided | ||||||
|  |      * | ||||||
|  |      * @return string[] | ||||||
|  |      * @psalm-return list<string> | ||||||
|  |      */ | ||||||
|  |     public static function getInstalledPackages() | ||||||
|  |     { | ||||||
|  |         $packages = array(); | ||||||
|  |         foreach (self::getInstalled() as $installed) { | ||||||
|  |             $packages[] = array_keys($installed['versions']); | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|  |         if (1 === \count($packages)) { | ||||||
|  |             return $packages[0]; | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|  |         return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * Returns a list of all package names with a specific type e.g. 'library' | ||||||
|  |      * | ||||||
|  |      * @param  string   $type | ||||||
|  |      * @return string[] | ||||||
|  |      * @psalm-return list<string> | ||||||
|  |      */ | ||||||
|  |     public static function getInstalledPackagesByType($type) | ||||||
|  |     { | ||||||
|  |         $packagesByType = array(); | ||||||
| 
 | 
 | ||||||
|  |         foreach (self::getInstalled() as $installed) { | ||||||
|  |             foreach ($installed['versions'] as $name => $package) { | ||||||
|  |                 if (isset($package['type']) && $package['type'] === $type) { | ||||||
|  |                     $packagesByType[] = $name; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|  |         return $packagesByType; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
| public static function getInstalledPackages() |     /** | ||||||
| { |      * Checks whether the given package is installed | ||||||
| $packages = array(); |      * | ||||||
| foreach (self::getInstalled() as $installed) { |      * This also returns true if the package name is provided or replaced by another package | ||||||
| $packages[] = array_keys($installed['versions']); |      * | ||||||
| } |      * @param  string $packageName | ||||||
| 
 |      * @param  bool   $includeDevRequirements | ||||||
| if (1 === \count($packages)) { |      * @return bool | ||||||
| return $packages[0]; |      */ | ||||||
| } |     public static function isInstalled($packageName, $includeDevRequirements = true) | ||||||
| 
 |     { | ||||||
| return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); |         foreach (self::getInstalled() as $installed) { | ||||||
| } |             if (isset($installed['versions'][$packageName])) { | ||||||
| 
 |                 return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); | ||||||
| 
 |             } | ||||||
| 
 |         } | ||||||
| 
 | 
 | ||||||
| 
 |         return false; | ||||||
| 
 |     } | ||||||
| 
 | 
 | ||||||
| 
 |     /** | ||||||
| 
 |      * Checks whether the given package satisfies a version constraint | ||||||
| public static function isInstalled($packageName) |      * | ||||||
| { |      * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: | ||||||
| foreach (self::getInstalled() as $installed) { |      * | ||||||
| if (isset($installed['versions'][$packageName])) { |      *   Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') | ||||||
| return true; |      * | ||||||
| } |      * @param  VersionParser $parser      Install composer/semver to have access to this class and functionality | ||||||
| } |      * @param  string        $packageName | ||||||
| 
 |      * @param  string|null   $constraint  A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package | ||||||
| return false; |      * @return bool | ||||||
| } |      */ | ||||||
| 
 |     public static function satisfies(VersionParser $parser, $packageName, $constraint) | ||||||
| 
 |     { | ||||||
| 
 |         $constraint = $parser->parseConstraints($constraint); | ||||||
| 
 |         $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); | ||||||
| 
 | 
 | ||||||
| 
 |         return $provided->matches($constraint); | ||||||
| 
 |     } | ||||||
| 
 | 
 | ||||||
| 
 |     /** | ||||||
| 
 |      * Returns a version constraint representing all the range(s) which are installed for a given package | ||||||
| 
 |      * | ||||||
| 
 |      * It is easier to use this via isInstalled() with the $constraint argument if you need to check | ||||||
| 
 |      * whether a given version of a package is installed, and not just whether it exists | ||||||
| 
 |      * | ||||||
| public static function satisfies(VersionParser $parser, $packageName, $constraint) |      * @param  string $packageName | ||||||
| { |      * @return string Version constraint usable with composer/semver | ||||||
| $constraint = $parser->parseConstraints($constraint); |      */ | ||||||
| $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); |     public static function getVersionRanges($packageName) | ||||||
| 
 |     { | ||||||
| return $provided->matches($constraint); |         foreach (self::getInstalled() as $installed) { | ||||||
| } |             if (!isset($installed['versions'][$packageName])) { | ||||||
| 
 |                 continue; | ||||||
| 
 |             } | ||||||
| 
 | 
 | ||||||
| 
 |             $ranges = array(); | ||||||
| 
 |             if (isset($installed['versions'][$packageName]['pretty_version'])) { | ||||||
| 
 |                 $ranges[] = $installed['versions'][$packageName]['pretty_version']; | ||||||
| 
 |             } | ||||||
| 
 |             if (array_key_exists('aliases', $installed['versions'][$packageName])) { | ||||||
| 
 |                 $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); | ||||||
| 
 |             } | ||||||
| public static function getVersionRanges($packageName) |             if (array_key_exists('replaced', $installed['versions'][$packageName])) { | ||||||
| { |                 $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); | ||||||
| foreach (self::getInstalled() as $installed) { |             } | ||||||
| if (!isset($installed['versions'][$packageName])) { |             if (array_key_exists('provided', $installed['versions'][$packageName])) { | ||||||
| continue; |                 $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); | ||||||
| } |             } | ||||||
| 
 | 
 | ||||||
| $ranges = array(); |             return implode(' || ', $ranges); | ||||||
| if (isset($installed['versions'][$packageName]['pretty_version'])) { |         } | ||||||
| $ranges[] = $installed['versions'][$packageName]['pretty_version']; | 
 | ||||||
| } |         throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||||||
| if (array_key_exists('aliases', $installed['versions'][$packageName])) { |     } | ||||||
| $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); | 
 | ||||||
| } |     /** | ||||||
| if (array_key_exists('replaced', $installed['versions'][$packageName])) { |      * @param  string      $packageName | ||||||
| $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); |      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present | ||||||
| } |      */ | ||||||
| if (array_key_exists('provided', $installed['versions'][$packageName])) { |     public static function getVersion($packageName) | ||||||
| $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); |     { | ||||||
| } |         foreach (self::getInstalled() as $installed) { | ||||||
| 
 |             if (!isset($installed['versions'][$packageName])) { | ||||||
| return implode(' || ', $ranges); |                 continue; | ||||||
| } |             } | ||||||
| 
 | 
 | ||||||
| throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |             if (!isset($installed['versions'][$packageName]['version'])) { | ||||||
| } |                 return null; | ||||||
| 
 |             } | ||||||
| 
 | 
 | ||||||
| 
 |             return $installed['versions'][$packageName]['version']; | ||||||
| 
 |         } | ||||||
| 
 | 
 | ||||||
| public static function getVersion($packageName) |         throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||||||
| { |     } | ||||||
| foreach (self::getInstalled() as $installed) { | 
 | ||||||
| if (!isset($installed['versions'][$packageName])) { |     /** | ||||||
| continue; |      * @param  string      $packageName | ||||||
| } |      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present | ||||||
| 
 |      */ | ||||||
| if (!isset($installed['versions'][$packageName]['version'])) { |     public static function getPrettyVersion($packageName) | ||||||
| return null; |     { | ||||||
| } |         foreach (self::getInstalled() as $installed) { | ||||||
| 
 |             if (!isset($installed['versions'][$packageName])) { | ||||||
| return $installed['versions'][$packageName]['version']; |                 continue; | ||||||
| } |             } | ||||||
| 
 | 
 | ||||||
| throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |             if (!isset($installed['versions'][$packageName]['pretty_version'])) { | ||||||
| } |                 return null; | ||||||
| 
 |             } | ||||||
| 
 | 
 | ||||||
| 
 |             return $installed['versions'][$packageName]['pretty_version']; | ||||||
| 
 |         } | ||||||
| 
 | 
 | ||||||
| public static function getPrettyVersion($packageName) |         throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||||||
| { |     } | ||||||
| foreach (self::getInstalled() as $installed) { | 
 | ||||||
| if (!isset($installed['versions'][$packageName])) { |     /** | ||||||
| continue; |      * @param  string      $packageName | ||||||
| } |      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference | ||||||
| 
 |      */ | ||||||
| if (!isset($installed['versions'][$packageName]['pretty_version'])) { |     public static function getReference($packageName) | ||||||
| return null; |     { | ||||||
| } |         foreach (self::getInstalled() as $installed) { | ||||||
| 
 |             if (!isset($installed['versions'][$packageName])) { | ||||||
| return $installed['versions'][$packageName]['pretty_version']; |                 continue; | ||||||
| } |             } | ||||||
| 
 | 
 | ||||||
| throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |             if (!isset($installed['versions'][$packageName]['reference'])) { | ||||||
| } |                 return null; | ||||||
| 
 |             } | ||||||
| 
 | 
 | ||||||
| 
 |             return $installed['versions'][$packageName]['reference']; | ||||||
| 
 |         } | ||||||
| 
 | 
 | ||||||
| public static function getReference($packageName) |         throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||||||
| { |     } | ||||||
| foreach (self::getInstalled() as $installed) { | 
 | ||||||
| if (!isset($installed['versions'][$packageName])) { |     /** | ||||||
| continue; |      * @param  string      $packageName | ||||||
| } |      * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. | ||||||
| 
 |      */ | ||||||
| if (!isset($installed['versions'][$packageName]['reference'])) { |     public static function getInstallPath($packageName) | ||||||
| return null; |     { | ||||||
| } |         foreach (self::getInstalled() as $installed) { | ||||||
| 
 |             if (!isset($installed['versions'][$packageName])) { | ||||||
| return $installed['versions'][$packageName]['reference']; |                 continue; | ||||||
| } |             } | ||||||
| 
 | 
 | ||||||
| throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); |             return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; | ||||||
| } |         } | ||||||
| 
 | 
 | ||||||
| 
 |         throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||||||
| 
 |     } | ||||||
| 
 | 
 | ||||||
| 
 |     /** | ||||||
| public static function getRootPackage() |      * @return array | ||||||
| { |      * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string} | ||||||
| $installed = self::getInstalled(); |      */ | ||||||
| 
 |     public static function getRootPackage() | ||||||
| return $installed[0]['root']; |     { | ||||||
| } |         $installed = self::getInstalled(); | ||||||
| 
 | 
 | ||||||
| 
 |         return $installed[0]['root']; | ||||||
| 
 |     } | ||||||
| 
 | 
 | ||||||
| 
 |     /** | ||||||
| 
 |      * Returns the raw installed.php data for custom implementations | ||||||
| 
 |      * | ||||||
| 
 |      * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. | ||||||
| public static function getRawData() |      * @return array[] | ||||||
| { |      * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} | ||||||
| @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); |      */ | ||||||
| 
 |     public static function getRawData() | ||||||
| return self::$installed; |     { | ||||||
| } |         @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); | ||||||
| 
 | 
 | ||||||
| 
 |         if (null === self::$installed) { | ||||||
| 
 |             self::$installed = include __DIR__ . '/installed.php'; | ||||||
| 
 |         } | ||||||
| 
 | 
 | ||||||
| 
 |         return self::$installed; | ||||||
| 
 |     } | ||||||
| public static function getAllRawData() | 
 | ||||||
| { |     /** | ||||||
| return self::getInstalled(); |      * Returns the raw data of all installed.php which are currently loaded for custom implementations | ||||||
| } |      * | ||||||
| 
 |      * @return array[] | ||||||
| 
 |      * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}> | ||||||
| 
 |      */ | ||||||
| 
 |     public static function getAllRawData() | ||||||
| 
 |     { | ||||||
| 
 |         return self::getInstalled(); | ||||||
| 
 |     } | ||||||
| 
 | 
 | ||||||
| 
 |     /** | ||||||
| 
 |      * Lets you reload the static array from another file | ||||||
| 
 |      * | ||||||
| 
 |      * This is only useful for complex integrations in which a project needs to use | ||||||
| 
 |      * this class but then also needs to execute another project's autoloader in process, | ||||||
| 
 |      * and wants to ensure both projects have access to their version of installed.php. | ||||||
| 
 |      * | ||||||
| 
 |      * A typical case would be PHPUnit, where it would need to make sure it reads all | ||||||
| 
 |      * the data it needs from this class, then call reload() with | ||||||
| 
 |      * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure | ||||||
| 
 |      * the project in which it runs can then also use this class safely, without | ||||||
| public static function reload($data) |      * interference between PHPUnit's dependencies and the project's dependencies. | ||||||
| { |      * | ||||||
| self::$installed = $data; |      * @param  array[] $data A vendor/composer/installed.php data set | ||||||
| self::$installedByVendor = array(); |      * @return void | ||||||
| } |      * | ||||||
| 
 |      * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data | ||||||
| 
 |      */ | ||||||
| 
 |     public static function reload($data) | ||||||
| 
 |     { | ||||||
| 
 |         self::$installed = $data; | ||||||
| private static function getInstalled() |         self::$installedByVendor = array(); | ||||||
| { |     } | ||||||
| if (null === self::$canGetVendors) { | 
 | ||||||
| self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); |     /** | ||||||
| } |      * @return array[] | ||||||
| 
 |      * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}> | ||||||
| $installed = array(); |      */ | ||||||
| 
 |     private static function getInstalled() | ||||||
| if (self::$canGetVendors) { |     { | ||||||
| foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { |         if (null === self::$canGetVendors) { | ||||||
| if (isset(self::$installedByVendor[$vendorDir])) { |             self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); | ||||||
| $installed[] = self::$installedByVendor[$vendorDir]; |         } | ||||||
| } elseif (is_file($vendorDir.'/composer/installed.php')) { | 
 | ||||||
| $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; |         $installed = array(); | ||||||
| } | 
 | ||||||
| } |         if (self::$canGetVendors) { | ||||||
| } |             foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { | ||||||
| 
 |                 if (isset(self::$installedByVendor[$vendorDir])) { | ||||||
| $installed[] = self::$installed; |                     $installed[] = self::$installedByVendor[$vendorDir]; | ||||||
| 
 |                 } elseif (is_file($vendorDir.'/composer/installed.php')) { | ||||||
| return $installed; |                     $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; | ||||||
| } |                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { | ||||||
|  |                         self::$installed = $installed[count($installed) - 1]; | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if (null === self::$installed) { | ||||||
|  |             self::$installed = require __DIR__ . '/installed.php'; | ||||||
|  |         } | ||||||
|  |         $installed[] = self::$installed; | ||||||
|  | 
 | ||||||
|  |         return $installed; | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										332
									
								
								vendor/composer/installed.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										332
									
								
								vendor/composer/installed.php
									
									
									
									
										vendored
									
									
								
							| @ -1,169 +1,169 @@ | |||||||
| <?php return array ( | <?php return array( | ||||||
|   'root' =>  |     'root' => array( | ||||||
|   array ( |         'pretty_version' => '6.x-dev', | ||||||
|     'pretty_version' => '6.x-dev', |         'version' => '6.9999999.9999999.9999999-dev', | ||||||
|     'version' => '6.9999999.9999999.9999999-dev', |         'type' => 'project', | ||||||
|     'aliases' =>  |         'install_path' => __DIR__ . '/../../', | ||||||
|     array ( |         'aliases' => array(), | ||||||
|  |         'reference' => '612077be96278a23df4f517da2088fc3147574e0', | ||||||
|  |         'name' => 'zoujingli/thinkadmin', | ||||||
|  |         'dev' => false, | ||||||
|     ), |     ), | ||||||
|     'reference' => 'd53fed33e1f513f043cccc0fbb69b48c0d9fbe41', |     'versions' => array( | ||||||
|     'name' => 'zoujingli/thinkadmin', |         'endroid/qr-code' => array( | ||||||
|   ), |             'pretty_version' => '1.9.3', | ||||||
|   'versions' =>  |             'version' => '1.9.3.0', | ||||||
|   array ( |             'type' => 'library', | ||||||
|     'endroid/qr-code' =>  |             'install_path' => __DIR__ . '/../endroid/qr-code', | ||||||
|     array ( |             'aliases' => array(), | ||||||
|       'pretty_version' => '1.9.3', |             'reference' => 'c9644bec2a9cc9318e98d1437de3c628dcd1ef93', | ||||||
|       'version' => '1.9.3.0', |             'dev_requirement' => false, | ||||||
|       'aliases' =>  |         ), | ||||||
|       array ( |         'league/flysystem' => array( | ||||||
|       ), |             'pretty_version' => '1.0.70', | ||||||
|       'reference' => 'c9644bec2a9cc9318e98d1437de3c628dcd1ef93', |             'version' => '1.0.70.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../league/flysystem', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => '585824702f534f8d3cf7fab7225e8466cc4b7493', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'league/flysystem-cached-adapter' => array( | ||||||
|  |             'pretty_version' => '1.1.0', | ||||||
|  |             'version' => '1.1.0.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../league/flysystem-cached-adapter', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => 'd1925efb2207ac4be3ad0c40b8277175f99ffaff', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'psr/cache' => array( | ||||||
|  |             'pretty_version' => '1.0.1', | ||||||
|  |             'version' => '1.0.1.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../psr/cache', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'psr/container' => array( | ||||||
|  |             'pretty_version' => '1.0.0', | ||||||
|  |             'version' => '1.0.0.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../psr/container', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'psr/log' => array( | ||||||
|  |             'pretty_version' => '1.1.4', | ||||||
|  |             'version' => '1.1.4.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../psr/log', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'psr/simple-cache' => array( | ||||||
|  |             'pretty_version' => '1.0.1', | ||||||
|  |             'version' => '1.0.1.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../psr/simple-cache', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'symfony/options-resolver' => array( | ||||||
|  |             'pretty_version' => 'v3.4.47', | ||||||
|  |             'version' => '3.4.47.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../symfony/options-resolver', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => 'c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'topthink/framework' => array( | ||||||
|  |             'pretty_version' => 'v6.0.8', | ||||||
|  |             'version' => '6.0.8.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../topthink/framework', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => '4789343672aef06d571d556da369c0e156609bce', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'topthink/think-helper' => array( | ||||||
|  |             'pretty_version' => 'v3.1.4', | ||||||
|  |             'version' => '3.1.4.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../topthink/think-helper', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => 'c28d37743bda4a0455286ca85b17b5791d626e10', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'topthink/think-orm' => array( | ||||||
|  |             'pretty_version' => 'v2.0.40', | ||||||
|  |             'version' => '2.0.40.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../topthink/think-orm', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => '1119d979b850849f3725856460cf108eec1c3eb8', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'topthink/think-template' => array( | ||||||
|  |             'pretty_version' => 'v2.0.8', | ||||||
|  |             'version' => '2.0.8.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../topthink/think-template', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => 'abfc293f74f9ef5127b5c416310a01fe42e59368', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'topthink/think-view' => array( | ||||||
|  |             'pretty_version' => 'v1.0.14', | ||||||
|  |             'version' => '1.0.14.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../topthink/think-view', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => 'edce0ae2c9551ab65f9e94a222604b0dead3576d', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'zoujingli/ip2region' => array( | ||||||
|  |             'pretty_version' => 'v1.0.10', | ||||||
|  |             'version' => '1.0.10.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../zoujingli/ip2region', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => '453480d0ab5b6fdbdf4aa400b7598a10ff2dc5c0', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'zoujingli/think-library' => array( | ||||||
|  |             'pretty_version' => 'v6.0.x-dev', | ||||||
|  |             'version' => '6.0.9999999.9999999-dev', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../zoujingli/think-library', | ||||||
|  |             'aliases' => array( | ||||||
|  |                 0 => '9999999-dev', | ||||||
|  |             ), | ||||||
|  |             'reference' => 'dab37cf567def670988c452943022ff1b8bb4176', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'zoujingli/thinkadmin' => array( | ||||||
|  |             'pretty_version' => '6.x-dev', | ||||||
|  |             'version' => '6.9999999.9999999.9999999-dev', | ||||||
|  |             'type' => 'project', | ||||||
|  |             'install_path' => __DIR__ . '/../../', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => '612077be96278a23df4f517da2088fc3147574e0', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|  |         'zoujingli/wechat-developer' => array( | ||||||
|  |             'pretty_version' => 'v1.2.31', | ||||||
|  |             'version' => '1.2.31.0', | ||||||
|  |             'type' => 'library', | ||||||
|  |             'install_path' => __DIR__ . '/../zoujingli/wechat-developer', | ||||||
|  |             'aliases' => array(), | ||||||
|  |             'reference' => '0cf699c725f69d66657a50e60d22f71c9e5a5e16', | ||||||
|  |             'dev_requirement' => false, | ||||||
|  |         ), | ||||||
|     ), |     ), | ||||||
|     'league/flysystem' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '1.0.70', |  | ||||||
|       'version' => '1.0.70.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '585824702f534f8d3cf7fab7225e8466cc4b7493', |  | ||||||
|     ), |  | ||||||
|     'league/flysystem-cached-adapter' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '1.1.0', |  | ||||||
|       'version' => '1.1.0.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'd1925efb2207ac4be3ad0c40b8277175f99ffaff', |  | ||||||
|     ), |  | ||||||
|     '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.4', |  | ||||||
|       'version' => '1.1.4.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', |  | ||||||
|     ), |  | ||||||
|     'psr/simple-cache' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '1.0.1', |  | ||||||
|       'version' => '1.0.1.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', |  | ||||||
|     ), |  | ||||||
|     'symfony/options-resolver' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v3.4.47', |  | ||||||
|       'version' => '3.4.47.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744', |  | ||||||
|     ), |  | ||||||
|     'topthink/framework' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v6.0.8', |  | ||||||
|       'version' => '6.0.8.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '4789343672aef06d571d556da369c0e156609bce', |  | ||||||
|     ), |  | ||||||
|     'topthink/think-helper' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v3.1.4', |  | ||||||
|       'version' => '3.1.4.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'c28d37743bda4a0455286ca85b17b5791d626e10', |  | ||||||
|     ), |  | ||||||
|     'topthink/think-orm' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v2.0.40', |  | ||||||
|       'version' => '2.0.40.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '1119d979b850849f3725856460cf108eec1c3eb8', |  | ||||||
|     ), |  | ||||||
|     'topthink/think-template' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v2.0.8', |  | ||||||
|       'version' => '2.0.8.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'abfc293f74f9ef5127b5c416310a01fe42e59368', |  | ||||||
|     ), |  | ||||||
|     'topthink/think-view' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v1.0.14', |  | ||||||
|       'version' => '1.0.14.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'edce0ae2c9551ab65f9e94a222604b0dead3576d', |  | ||||||
|     ), |  | ||||||
|     'zoujingli/ip2region' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v1.0.10', |  | ||||||
|       'version' => '1.0.10.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '453480d0ab5b6fdbdf4aa400b7598a10ff2dc5c0', |  | ||||||
|     ), |  | ||||||
|     'zoujingli/think-library' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v6.0.x-dev', |  | ||||||
|       'version' => '6.0.9999999.9999999-dev', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|         0 => '9999999-dev', |  | ||||||
|       ), |  | ||||||
|       'reference' => 'dab37cf567def670988c452943022ff1b8bb4176', |  | ||||||
|     ), |  | ||||||
|     'zoujingli/thinkadmin' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => '6.x-dev', |  | ||||||
|       'version' => '6.9999999.9999999.9999999-dev', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => 'd53fed33e1f513f043cccc0fbb69b48c0d9fbe41', |  | ||||||
|     ), |  | ||||||
|     'zoujingli/wechat-developer' =>  |  | ||||||
|     array ( |  | ||||||
|       'pretty_version' => 'v1.2.31', |  | ||||||
|       'version' => '1.2.31.0', |  | ||||||
|       'aliases' =>  |  | ||||||
|       array ( |  | ||||||
|       ), |  | ||||||
|       'reference' => '0cf699c725f69d66657a50e60d22f71c9e5a5e16', |  | ||||||
|     ), |  | ||||||
|   ), |  | ||||||
| ); | ); | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								vendor/services.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/services.php
									
									
									
									
										vendored
									
									
								
							| @ -1,5 +1,5 @@ | |||||||
| <?php  | <?php  | ||||||
| // This file is automatically generated at:2021-05-27 10:19:04
 | // This file is automatically generated at:2021-06-09 11:20:22
 | ||||||
| declare (strict_types = 1); | declare (strict_types = 1); | ||||||
| return array ( | return array ( | ||||||
|   0 => 'think\\admin\\Library', |   0 => 'think\\admin\\Library', | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user