改进loader类的parseClass方法

This commit is contained in:
thinkphp
2016-01-15 18:22:44 +08:00
parent 920b8982f7
commit 5c62fe2437

View File

@@ -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;
}
}