改进Composer自动加载的判断机制 增加 vendor目录下面的think_autoload文件判断

This commit is contained in:
thinkphp
2016-06-20 19:17:43 +08:00
parent a032828d5c
commit 5c7618f2fa
2 changed files with 12 additions and 10 deletions

View File

@@ -40,7 +40,7 @@ class Controller
/**
* 架构函数
* @param \think\Request $request Request对象
* @param Request $request Request对象
* @access public
*/
public function __construct(Request $request = null)

View File

@@ -33,13 +33,7 @@ class Loader
// PSR-0
private static $prefixesPsr0 = [];
// Composer自动加载
private static $composerLoader = true;
// 自动加载Composer
public static function composerAutoLoader($auto)
{
self::$composerLoader = $auto;
}
private static $composerLoader = false;
// 自动加载
public static function autoload($class)
@@ -126,9 +120,17 @@ class Loader
{
// 注册系统自动加载
spl_autoload_register($autoload ?: 'think\\Loader::autoload');
// 注册composer自动加载
if (self::$composerLoader) {
if (is_dir(VENDOR_PATH . 'composer')) {
// 注册Composer自动加载
self::registerComposerLoader();
self::$composerLoader = true;
} elseif(is_file(VENDOR_PATH . 'think_autoload.php')) {
// 读取Composer自动加载文件
$autoload = include VENDOR_PATH . 'think_autoload.php';
if (is_array($autoload)) {
self::addMap($autoload);
}
}
}