From 5c62fe2437bc1a8caa778930c14c2a3a3c22d7b1 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Fri, 15 Jan 2016 18:22:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9Bloader=E7=B1=BB=E7=9A=84parse?= =?UTF-8?q?Class=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Loader.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/library/think/Loader.php b/library/think/Loader.php index 809cefe5..1d209157 100644 --- a/library/think/Loader.php +++ b/library/think/Loader.php @@ -403,6 +403,10 @@ class Loader */ public static function parseClass($module, $layer, $name) { - return APP_NAMESPACE . '\\' . (APP_MULTI_MODULE ? $module . '\\' : '') . $layer . '\\' . self::parseName(str_replace(['/', '.'], '\\', $name), 1); + $name = str_replace(['/', '.'], '\\', $name); + $array = explode('\\', $name); + $class = self::parseName(array_pop($array), 1); + $path = $array ? implode('\\', $array) . '\\' : ''; + return APP_NAMESPACE . '\\' . (APP_MULTI_MODULE ? $module . '\\' : '') . $layer . '\\' . $path . $class; } }