83 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Illuminate\Contracts\Events;
 | 
						|
 | 
						|
interface Dispatcher
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Register an event listener with the dispatcher.
 | 
						|
     *
 | 
						|
     * @param  string|array  $events
 | 
						|
     * @param  \Closure|string  $listener
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function listen($events, $listener);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Determine if a given event has listeners.
 | 
						|
     *
 | 
						|
     * @param  string  $eventName
 | 
						|
     * @return bool
 | 
						|
     */
 | 
						|
    public function hasListeners($eventName);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Register an event subscriber with the dispatcher.
 | 
						|
     *
 | 
						|
     * @param  object|string  $subscriber
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function subscribe($subscriber);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Dispatch an event until the first non-null response is returned.
 | 
						|
     *
 | 
						|
     * @param  string|object  $event
 | 
						|
     * @param  mixed  $payload
 | 
						|
     * @return array|null
 | 
						|
     */
 | 
						|
    public function until($event, $payload = []);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Dispatch an event and call the listeners.
 | 
						|
     *
 | 
						|
     * @param  string|object  $event
 | 
						|
     * @param  mixed  $payload
 | 
						|
     * @param  bool  $halt
 | 
						|
     * @return array|null
 | 
						|
     */
 | 
						|
    public function dispatch($event, $payload = [], $halt = false);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Register an event and payload to be fired later.
 | 
						|
     *
 | 
						|
     * @param  string  $event
 | 
						|
     * @param  array  $payload
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function push($event, $payload = []);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Flush a set of pushed events.
 | 
						|
     *
 | 
						|
     * @param  string  $event
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function flush($event);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Remove a set of listeners from the dispatcher.
 | 
						|
     *
 | 
						|
     * @param  string  $event
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function forget($event);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Forget all of the queued listeners.
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function forgetPushed();
 | 
						|
}
 |