改进 hook类的exec方法

This commit is contained in:
thinkphp
2015-12-10 17:46:23 +08:00
parent b1f4cad00b
commit 45dc26a656

View File

@@ -111,17 +111,17 @@ class Hook
/** /**
* 执行某个行为 * 执行某个行为
* @param string $name 行为名称 * @param string $class 行为名称
* @param string $tag 方法名(标签名) * @param string $tag 方法名(标签名)
* @param Mixed $params 传人的参数 * @param Mixed $params 传人的参数
* @return void * @return void
*/ */
public static function exec($name, $tag, &$params = null) public static function exec($class, $tag = '', &$params = null)
{ {
if ($name instanceof \Closure) { if ($class instanceof \Closure) {
return $name($params); return $class($params);
} }
$addon = new $name(); $obj = new $class();
return method_exists($addon, $tag) ? $addon->$tag($params) : $addon->run($params); return ($tag && is_callable([$obj, $tag])) ? $obj->$tag($params) : $obj->run($params);
} }
} }