控制器的操作方法支持注入Request之外的对象实例

This commit is contained in:
thinkphp
2016-07-22 11:12:36 +08:00
parent bba6ecefcd
commit 2461657c28
2 changed files with 17 additions and 18 deletions

View File

@@ -238,8 +238,9 @@ class App
foreach ($params as $param) {
$name = $param->getName();
$class = $param->getClass();
if ($class && 'think\Request' == $class->getName()) {
$args[] = Request::instance();
if ($class) {
$className = $class->getName();
$args[] = method_exists($className, 'instance') ? $className::instance() : new $className();
} elseif (1 == $type && !empty($vars)) {
$args[] = array_shift($vars);
} elseif (0 == $type && isset($vars[$name])) {