for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types = 1);
namespace Venta\Routing\Factory;
use Venta\Contracts\Container\Container;
use Venta\Contracts\Routing\MiddlewarePipeline as MiddlewarePipelineContract;
use Venta\Contracts\Routing\MiddlewarePipelineFactory as MiddlewarePipelineFactoryContract;
use Venta\Routing\MiddlewarePipeline;
/**
* Class MiddlewarePipelineFactory
*
* @package Venta\Routing
*/
final class MiddlewarePipelineFactory implements MiddlewarePipelineFactoryContract
{
* @var Container
private $container;
* MiddlewarePipelineFactory constructor.
* @param Container $container
public function __construct(Container $container)
$this->container = $container;
}
* @inheritDoc
public function create(array $middlewares): MiddlewarePipelineContract
$pipeline = new MiddlewarePipeline();
foreach ($middlewares as $middleware) {
$pipeline = $pipeline->withMiddleware($this->container->get($middleware));
return $pipeline;