修正M函数实例化问题 D函数自动实例化公共模块的模型

This commit is contained in:
thinkphp
2015-12-11 08:23:54 +08:00
parent 3440c28552
commit 01cc676a7a
2 changed files with 17 additions and 12 deletions

View File

@@ -149,13 +149,17 @@ class Loader
return $_model[$name . $layer];
}
if (strpos($name, '/')) {
list($module, $name) = explode('/', $name);
list($module, $name) = explode('/', $name, 2);
} else {
$module = MODULE_NAME;
}
$class = $module . '\\' . $layer . '\\' . self::parseName(str_replace('.', '\\', $name), 1);
$class = $module . '\\' . $layer . '\\' . self::parseName(str_replace('/', '\\', $name), 1);
if (class_exists($class)) {
$model = new $class($name);
} elseif (false === strpos($name, '/')) {
// 自动加载公共模块下面的模型
$class = COMMON_MODULE . strstr($class, '\\');
$model = class_exists($class) ? new $class($name) : new Model($name);
} else {
Log::record('实例化不存在的类:' . $class, 'NOTIC');
$model = new Model($name);