diff --git a/library/think/Hook.php b/library/think/Hook.php index 9746f487..7f5de18c 100644 --- a/library/think/Hook.php +++ b/library/think/Hook.php @@ -122,11 +122,9 @@ class Hook public static function exec($class, $tag = '', &$params = null) { if ($class instanceof \Closure) { - $result = call_user_func_array($class, $params); + $result = call_user_func_array($class, [$params]); } elseif (is_object($class)) { - $result = call_user_func_array([$class, $tag], $params); - } elseif (is_array($class)) { - $result = call_user_func_array($class, $params); + $result = call_user_func_array([$class, $tag], [$params]); } else { $obj = new $class(); $result = ($tag && is_callable([$obj, $tag])) ? $obj->$tag($params) : $obj->run($params);