| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- /**
- *
- * @author: xaboy<365615158@qq.com>
- * @day: 2017/11/24
- */
- namespace crmeb\services;
- class HookService
- {
- /**
- * 监听有返回结果的行为
- * @param $tag
- * @param $params
- * @param null $extra
- * @param bool $once
- * @return mixed
- */
- public static function resultListen($tag, $params, $extra = null, $once = false,$behavior = null)
- {
- self::beforeListen($tag,$params,$extra,false,$behavior);
- return self::listen($tag,$params,$extra,$once,$behavior);
- }
- /**
- * 监听后置行为
- * @param $tag
- * @param $params
- * @param null $extra
- */
- public static function afterListen($tag, $params, $extra = null, $once = false, $behavior = null)
- {
- try{
- return self::listen($tag.'_after',$params,$extra,$once,$behavior);
- }catch (\Exception $e){}
- }
- public static function beforeListen($tag,$params,$extra = null, $once = false, $behavior = null)
- {
- try{
- return self::listen($tag.'_before',$params,$extra,$once,$behavior);
- }catch (\Exception $e){}
- }
- /**
- * 监听行为
- * @param $tag
- * @param $params
- * @param null $extra
- * @param bool $once
- * @return mixed
- */
- public static function listen($tag, $params, $extra = null, $once = false, $behavior = null)
- {
- // if($behavior && method_exists($behavior,Loader::parseName($tag,1,false))) self::add($tag,$behavior);
- // return Hook::listen($tag,$params,$extra,$once);
- }
- /**
- * 添加前置行为
- * @param $tag
- * @param $behavior
- * @param bool $first
- */
- public static function addBefore($tag, $behavior, $first = false)
- {
- self::add($tag.'_before',$behavior,$first);
- }
- /**
- * 添加后置行为
- * @param $tag
- * @param $behavior
- * @param bool $first
- */
- public static function addAfter($tag, $behavior, $first = false)
- {
- self::add($tag.'_after',$behavior,$first);
- }
- /**
- * 添加行为
- * @param $tag
- * @param $behavior
- * @param bool $first
- */
- public static function add($tag, $behavior, $first = false)
- {
- Hook::add($tag,$behavior,$first);
- }
- }
|