123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- namespace service;
- use think\Exception;
- use think\Hook;
- use think\Loader;
- class HookService
- {
-
- 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);
- }
-
- 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){}
- }
-
- 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);
- }
-
- public static function addBefore($tag, $behavior, $first = false)
- {
- self::add($tag.'_before',$behavior,$first);
- }
-
- public static function addAfter($tag, $behavior, $first = false)
- {
- self::add($tag.'_after',$behavior,$first);
- }
-
- public static function add($tag, $behavior, $first = false)
- {
- Hook::add($tag,$behavior,$first);
- }
- }
|