PHP code example of hotaruma / pipeline

1. Go to this page and download the library: Download hotaruma/pipeline library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

hotaruma / pipeline example snippets


use Hotaruma\Pipeline\Pipeline;

$pipeline = new Pipeline();

$pipeline->pipe(
    ErrorMiddleware::class,
    LogMiddleware::class,
    RouteMiddleware::class,
);

$response = $pipeline->process($serverRequest, RouteNotFoundMiddleware::class);

$authPipeline = new Pipeline();

$authPipeline->pipe(
    AccessLogMiddleware::class,
    AuthMiddleware::class,
);

$pipeline->pipe(
    ErrorMiddleware::class,
    LogMiddleware::class,
    $authPipeline,
);

$response = $pipeline->process($serverRequest, RequestHandler::class);

$requestHandlerPipeline = new Pipeline();

$requestHandlerPipeline->pipe(
    LogMiddleware::class,
    RouteNotFoundMiddleware::class
);
$response = $pipeline->process($serverRequest, $requestHandlerPipeline);

$pipeline->rewind();

use Zend\Diactoros\Response;
use GuzzleHttp\Psr7\Utils;

$response = $pipeline->process($serverRequest, function (ServerRequestInterface $request): ResponseInterface {
    return (new Response())
        ->withStatus(404)
        ->withHeader('Content-Type', 'text/plain')
        ->withBody(Utils::streamFor('Not Found'));
});

use Hotaruma\Pipeline\Resolver\{MiddlewareResolver, RequestHandlerResolver};

$pipeline->middlewareResolver(new MiddlewareResolver());
$pipeline->handlerResolver(new RequestHandlerResolver());

$pipeline->getMiddlewareResolver()->container($container);
$pipeline->getRequestHandlerResolver()->container($container);

use Hotaruma\Pipeline\MiddlewareStore\MiddlewareStore;

$pipeline->middlewareStore(new MiddlewareStore());