From 45dc26a65634cf62a41d4e021b78b7901b6dcf99 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Thu, 10 Dec 2015 17:46:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=20hook=E7=B1=BB=E7=9A=84exec?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/hook.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/library/think/hook.php b/library/think/hook.php index ab389181..f28c31d8 100644 --- a/library/think/hook.php +++ b/library/think/hook.php @@ -111,17 +111,17 @@ class Hook /** * 执行某个行为 - * @param string $name 行为名称 + * @param string $class 行为类名称 * @param string $tag 方法名(标签名) * @param Mixed $params 传人的参数 * @return void */ - public static function exec($name, $tag, &$params = null) + public static function exec($class, $tag = '', &$params = null) { - if ($name instanceof \Closure) { - return $name($params); + if ($class instanceof \Closure) { + return $class($params); } - $addon = new $name(); - return method_exists($addon, $tag) ? $addon->$tag($params) : $addon->run($params); + $obj = new $class(); + return ($tag && is_callable([$obj, $tag])) ? $obj->$tag($params) : $obj->run($params); } }