改进App类bindParams方法 支持对象实例

This commit is contained in:
thinkphp
2016-09-09 17:51:06 +08:00
parent 9f9fa4352b
commit b84eba54c5

View File

@@ -251,7 +251,11 @@ class App
$class = $param->getClass();
if ($class) {
$className = $class->getName();
$args[] = method_exists($className, 'instance') ? $className::instance() : new $className();
if (isset($vars[$name]) && $vars[$name] instanceof $className) {
$args[] = $vars[$name];
} else {
$args[] = method_exists($className, 'instance') ? $className::instance() : new $className();
}
} elseif (1 == $type && !empty($vars)) {
$args[] = array_shift($vars);
} elseif (0 == $type && isset($vars[$name])) {