控制器的操作方法支持注入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) { foreach ($params as $param) {
$name = $param->getName(); $name = $param->getName();
$class = $param->getClass(); $class = $param->getClass();
if ($class && 'think\Request' == $class->getName()) { if ($class) {
$args[] = Request::instance(); $className = $class->getName();
$args[] = method_exists($className, 'instance') ? $className::instance() : new $className();
} elseif (1 == $type && !empty($vars)) { } elseif (1 == $type && !empty($vars)) {
$args[] = array_shift($vars); $args[] = array_shift($vars);
} elseif (0 == $type && isset($vars[$name])) { } elseif (0 == $type && isset($vars[$name])) {

View File

@@ -187,7 +187,6 @@ class Loader
} }
} }
// 添加Psr4空间 // 添加Psr4空间
private static function addPsr4($prefix, $paths, $prepend = false) private static function addPsr4($prefix, $paths, $prepend = false)
{ {
@@ -227,7 +226,6 @@ class Loader
} }
} }
// 注册命名空间别名 // 注册命名空间别名
public static function addNamespaceAlias($namespace, $original = '') public static function addNamespaceAlias($namespace, $original = '')
{ {