Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Support/Facades/Event.php
Строк: 192
<?php

namespace IlluminateSupportFacades;

use 
IlluminateDatabaseEloquentModel;
use 
IlluminateSupportTestingFakesEventFake;

/**
 * @method static void listen(Closure|string|array $events, Closure|string|array|null $listener = null)
 * @method static bool hasListeners(string $eventName)
 * @method static bool hasWildcardListeners(string $eventName)
 * @method static void push(string $event, object|array $payload = [])
 * @method static void flush(string $event)
 * @method static void subscribe(object|string $subscriber)
 * @method static mixed until(string|object $event, mixed $payload = [])
 * @method static array|null dispatch(string|object $event, mixed $payload = [], bool $halt = false)
 * @method static array getListeners(string $eventName)
 * @method static Closure makeListener(Closure|string|array $listener, bool $wildcard = false)
 * @method static Closure createClassListener(string $listener, bool $wildcard = false)
 * @method static void forget(string $event)
 * @method static void forgetPushed()
 * @method static IlluminateEventsDispatcher setQueueResolver(callable $resolver)
 * @method static IlluminateEventsDispatcher setTransactionManagerResolver(callable $resolver)
 * @method static array getRawListeners()
 * @method static void macro(string $name, object|callable $macro)
 * @method static void mixin(object $mixin, bool $replace = true)
 * @method static bool hasMacro(string $name)
 * @method static void flushMacros()
 * @method static IlluminateSupportTestingFakesEventFake except(array|string $eventsToDispatch)
 * @method static void assertListening(string $expectedEvent, string|array $expectedListener)
 * @method static void assertDispatched(string|Closure $event, callable|int|null $callback = null)
 * @method static void assertDispatchedTimes(string $event, int $times = 1)
 * @method static void assertNotDispatched(string|Closure $event, callable|null $callback = null)
 * @method static void assertNothingDispatched()
 * @method static IlluminateSupportCollection dispatched(string $event, callable|null $callback = null)
 * @method static bool hasDispatched(string $event)
 *
 * @see IlluminateEventsDispatcher
 * @see IlluminateSupportTestingFakesEventFake
 */
class Event extends Facade
{
    
/**
     * Replace the bound instance with a fake.
     *
     * @param  array|string  $eventsToFake
     * @return IlluminateSupportTestingFakesEventFake
     */
    
public static function fake($eventsToFake = [])
    {
        
$actualDispatcher = static::isFake()
                ? static::
getFacadeRoot()->dispatcher
                
: static::getFacadeRoot();

        return 
tap(new EventFake($actualDispatcher$eventsToFake), function ($fake) {
            static::
swap($fake);

            
Model::setEventDispatcher($fake);
            
Cache::refreshEventDispatcher();
        });
    }

    
/**
     * Replace the bound instance with a fake that fakes all events except the given events.
     *
     * @param  string[]|string  $eventsToAllow
     * @return IlluminateSupportTestingFakesEventFake
     */
    
public static function fakeExcept($eventsToAllow)
    {
        return static::
fake([
            function (
$eventName) use ($eventsToAllow) {
                return ! 
in_array($eventName, (array) $eventsToAllow);
            },
        ]);
    }

    
/**
     * Replace the bound instance with a fake during the given callable's execution.
     *
     * @param  callable  $callable
     * @param  array  $eventsToFake
     * @return mixed
     */
    
public static function fakeFor(callable $callable, array $eventsToFake = [])
    {
        
$originalDispatcher = static::getFacadeRoot();

        static::
fake($eventsToFake);

        return 
tap($callable(), function () use ($originalDispatcher) {
            static::
swap($originalDispatcher);

            
Model::setEventDispatcher($originalDispatcher);
            
Cache::refreshEventDispatcher();
        });
    }

    
/**
     * Replace the bound instance with a fake during the given callable's execution.
     *
     * @param  callable  $callable
     * @param  array  $eventsToAllow
     * @return mixed
     */
    
public static function fakeExceptFor(callable $callable, array $eventsToAllow = [])
    {
        
$originalDispatcher = static::getFacadeRoot();

        static::
fakeExcept($eventsToAllow);

        return 
tap($callable(), function () use ($originalDispatcher) {
            static::
swap($originalDispatcher);

            
Model::setEventDispatcher($originalDispatcher);
            
Cache::refreshEventDispatcher();
        });
    }

    
/**
     * Get the registered name of the component.
     *
     * @return string
     */
    
protected static function getFacadeAccessor()
    {
        return 
'events';
    }
}
Онлайн: 1
Реклама