改进Loader类model和validate方法

This commit is contained in:
thinkphp
2016-10-17 13:53:53 +08:00
parent f2e51604f4
commit d9be9ddf6f

View File

@@ -365,8 +365,9 @@ class Loader
*/ */
public static function model($name = '', $layer = 'model', $appendSuffix = false, $common = 'common') public static function model($name = '', $layer = 'model', $appendSuffix = false, $common = 'common')
{ {
if (isset(self::$instance[$name . $layer])) { $guid = $name . $layer;
return self::$instance[$name . $layer]; if (isset(self::$instance[$guid])) {
return self::$instance[$guid];
} }
if (strpos($name, '/')) { if (strpos($name, '/')) {
list($module, $name) = explode('/', $name, 2); list($module, $name) = explode('/', $name, 2);
@@ -384,7 +385,7 @@ class Loader
throw new ClassNotFoundException('class not exists:' . $class, $class); throw new ClassNotFoundException('class not exists:' . $class, $class);
} }
} }
self::$instance[$name . $layer] = $model; self::$instance[$guid] = $model;
return $model; return $model;
} }
@@ -427,9 +428,9 @@ class Loader
if (empty($name)) { if (empty($name)) {
return new Validate; return new Validate;
} }
$guid = $name . $layer;
if (isset(self::$instance[$name . $layer])) { if (isset(self::$instance[$guid])) {
return self::$instance[$name . $layer]; return self::$instance[$guid];
} }
if (strpos($name, '/')) { if (strpos($name, '/')) {
list($module, $name) = explode('/', $name); list($module, $name) = explode('/', $name);
@@ -447,7 +448,7 @@ class Loader
throw new ClassNotFoundException('class not exists:' . $class, $class); throw new ClassNotFoundException('class not exists:' . $class, $class);
} }
} }
self::$instance[$name . $layer] = $validate; self::$instance[$guid] = $validate;
return $validate; return $validate;
} }