From 7ea4250331712c18db1f204a30d8120b06de94b0 Mon Sep 17 00:00:00 2001 From: pwf0112 Date: Thu, 24 Dec 2015 17:57:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87=E9=85=8D=E7=BD=AE=E9=A1=B9ex?= =?UTF-8?q?tend=5Flibrary=E6=89=A9=E5=B1=95=E7=B1=BB=E4=BC=BCLibrary?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E7=9A=84=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=AE=9A=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/loader.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/library/think/loader.php b/library/think/loader.php index 265cfb2d..30fb74ed 100644 --- a/library/think/loader.php +++ b/library/think/loader.php @@ -34,6 +34,8 @@ class Loader } elseif ($file = self::findFileInComposer($class)) { include $file; } else { + // 项目命名空间 + $path = APP_PATH; // 命名空间自动加载 $name = strtolower(strstr($class, '\\', true)); if (isset(self::$namespace[$name])) { @@ -43,8 +45,13 @@ class Loader // Library目录下面的命名空间自动定位 $path = LIB_PATH; } else { - // 项目命名空间 - $path = APP_PATH; + $extend = Config::get('extend_library') ?: []; + foreach ($extend as $_extend) { + if (is_dir($_extend . $name)) { + $path = $_extend; + break; + } + } } $filename = $path . str_replace('\\', DS, str_replace('\\_', '\\', strtolower(trim(preg_replace("/[A-Z]/", "_\\0", $class), "_")))) . EXT; if (is_file($filename)) {