Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Foundation/Bus/Dispatchable.php
Строк: 151
<?php

namespace IlluminateFoundationBus;

use 
Closure;
use 
IlluminateContractsBusDispatcher;
use 
IlluminateSupportFluent;

trait 
Dispatchable
{
    
/**
     * Dispatch the job with the given arguments.
     *
     * @param  mixed  ...$arguments
     * @return IlluminateFoundationBusPendingDispatch
     */
    
public static function dispatch(...$arguments)
    {
        return new 
PendingDispatch(new static(...$arguments));
    }

    
/**
     * Dispatch the job with the given arguments if the given truth test passes.
     *
     * @param  bool|Closure  $boolean
     * @param  mixed  ...$arguments
     * @return IlluminateFoundationBusPendingDispatch|IlluminateSupportFluent
     */
    
public static function dispatchIf($boolean, ...$arguments)
    {
        if (
$boolean instanceof Closure) {
            
$dispatchable = new static(...$arguments);

            return 
value($boolean$dispatchable)
                ? new 
PendingDispatch($dispatchable)
                : new 
Fluent;
        }

        return 
value($boolean)
            ? new 
PendingDispatch(new static(...$arguments))
            : new 
Fluent;
    }

    
/**
     * Dispatch the job with the given arguments unless the given truth test passes.
     *
     * @param  bool|Closure  $boolean
     * @param  mixed  ...$arguments
     * @return IlluminateFoundationBusPendingDispatch|IlluminateSupportFluent
     */
    
public static function dispatchUnless($boolean, ...$arguments)
    {
        if (
$boolean instanceof Closure) {
            
$dispatchable = new static(...$arguments);

            return ! 
value($boolean$dispatchable)
                ? new 
PendingDispatch($dispatchable)
                : new 
Fluent;
        }

        return ! 
value($boolean)
            ? new 
PendingDispatch(new static(...$arguments))
            : new 
Fluent;
    }

    
/**
     * Dispatch a command to its appropriate handler in the current process.
     *
     * Queueable jobs will be dispatched to the "sync" queue.
     *
     * @param  mixed  ...$arguments
     * @return mixed
     */
    
public static function dispatchSync(...$arguments)
    {
        return 
app(Dispatcher::class)->dispatchSync(new static(...$arguments));
    }

    
/**
     * Dispatch a command to its appropriate handler after the current process.
     *
     * @param  mixed  ...$arguments
     * @return mixed
     */
    
public static function dispatchAfterResponse(...$arguments)
    {
        return 
self::dispatch(...$arguments)->afterResponse();
    }

    
/**
     * Set the jobs that should run if this job is successful.
     *
     * @param  array  $chain
     * @return IlluminateFoundationBusPendingChain
     */
    
public static function withChain($chain)
    {
        return new 
PendingChain(static::class, $chain);
    }
}
Онлайн: 1
Реклама