Вход Регистрация
Файл: gapps/vendor/laravel/framework/src/Illuminate/Pipeline/Hub.php
Строк: 96
<?php

namespace IlluminatePipeline;

use 
Closure;
use 
IlluminateContractsContainerContainer;
use 
IlluminateContractsPipelineHub as HubContract;

class 
Hub implements HubContract
{
    
/**
     * The container implementation.
     *
     * @var IlluminateContractsContainerContainer
     */
    
protected $container;

    
/**
     * All of the available pipelines.
     *
     * @var array
     */
    
protected $pipelines = [];

    
/**
     * Create a new Hub instance.
     *
     * @param  IlluminateContractsContainerContainer  $container
     * @return void
     */
    
public function __construct(Container $container)
    {
        
$this->container $container;
    }

    
/**
     * Define the default named pipeline.
     *
     * @param  Closure  $callback
     * @return void
     */
    
public function defaults(Closure $callback)
    {
        return 
$this->pipeline('default'$callback);
    }

    
/**
     * Define a new named pipeline.
     *
     * @param  string  $name
     * @param  Closure  $callback
     * @return void
     */
    
public function pipeline($nameClosure $callback)
    {
        
$this->pipelines[$name] = $callback;
    }

    
/**
     * Send an object through one of the available pipelines.
     *
     * @param  mixed  $object
     * @param  string|null  $pipeline
     * @return mixed
     */
    
public function pipe($object$pipeline null)
    {
        
$pipeline $pipeline ?: 'default';

        return 
call_user_func(
            
$this->pipelines[$pipeline], new Pipeline($this->container), $object
        
);
    }
}
Онлайн: 0
Реклама