mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-08 07:32:48 +08:00
改进composer自动加载
This commit is contained in:
@@ -23,7 +23,7 @@ class Loader
|
|||||||
/**
|
/**
|
||||||
* @var array 类名映射
|
* @var array 类名映射
|
||||||
*/
|
*/
|
||||||
protected static $map = [];
|
protected static $classMap = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array 命名空间别名
|
* @var array 命名空间别名
|
||||||
@@ -99,8 +99,8 @@ class Loader
|
|||||||
private static function findFile($class)
|
private static function findFile($class)
|
||||||
{
|
{
|
||||||
// 类库映射
|
// 类库映射
|
||||||
if (!empty(self::$map[$class])) {
|
if (!empty(self::$classMap[$class])) {
|
||||||
return self::$map[$class];
|
return self::$classMap[$class];
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查找 PSR-4
|
// 查找 PSR-4
|
||||||
@@ -156,7 +156,7 @@ class Loader
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 找不到则设置映射为 false 并返回
|
// 找不到则设置映射为 false 并返回
|
||||||
return self::$map[$class] = false;
|
return self::$classMap[$class] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -169,9 +169,9 @@ class Loader
|
|||||||
public static function addClassMap($class, $map = '')
|
public static function addClassMap($class, $map = '')
|
||||||
{
|
{
|
||||||
if (is_array($class)) {
|
if (is_array($class)) {
|
||||||
self::$map = array_merge(self::$map, $class);
|
self::$classMap = array_merge(self::$classMap, $class);
|
||||||
} else {
|
} else {
|
||||||
self::$map[$class] = $map;
|
self::$classMap[$class] = $map;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -292,12 +292,12 @@ class Loader
|
|||||||
$declaredClass = get_declared_classes();
|
$declaredClass = get_declared_classes();
|
||||||
$composerClass = array_pop($declaredClass);
|
$composerClass = array_pop($declaredClass);
|
||||||
|
|
||||||
self::$prefixLengthsPsr4 = $composerClass::$prefixLengthsPsr4;
|
foreach (['prefixLengthsPsr4', 'prefixDirsPsr4', 'fallbackDirsPsr4', 'prefixesPsr0', 'fallbackDirsPsr0', 'classMap'] as $attr) {
|
||||||
|
if (property_exists($composerClass, $attr)) {
|
||||||
|
self::${$attr} = $composerClass::${$attr};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self::$prefixDirsPsr4 = property_exists($composerClass, 'prefixDirsPsr4') ? $composerClass::$prefixDirsPsr4 : [];
|
|
||||||
|
|
||||||
self::$prefixesPsr0 = property_exists($composerClass, 'prefixesPsr0') ? $composerClass::$prefixesPsr0 : [];
|
|
||||||
self::$map = property_exists($composerClass, 'classMap') ? $composerClass::$classMap : [];
|
|
||||||
} else {
|
} else {
|
||||||
self::registerComposerLoader();
|
self::registerComposerLoader();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user