26 lines
		
	
	
		
			638 B
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			638 B
		
	
	
	
		
			PHP
		
	
	
	
| <?php namespace App\Support;
 | |
| 
 | |
| use Symfony\Component\EventDispatcher\GenericEvent;
 | |
| 
 | |
| class Hook
 | |
| {
 | |
|     public static function listen($tag, $class)
 | |
|     {
 | |
|         $object = with(new $class);
 | |
|         $methods = get_class_methods($object);
 | |
|         foreach ($methods as $method) {
 | |
|             app('dispatcher')->addListener($tag.'.'.$method, [$object, $method]);
 | |
|         }
 | |
|         unset($object);
 | |
|     }
 | |
| 
 | |
|     public static function fire($tag, $data = [])
 | |
|     {
 | |
|         $event = new GenericEvent();
 | |
|         $event->setArguments($data);
 | |
|         $event = app('dispatcher')->dispatch($event, $tag);
 | |
|         return $event->getArguments();
 | |
|     }
 | |
|     
 | |
| }
 |