kami/request-processor

Request processor component

1.0 2022-01-04 19:57 UTC

This package is auto-updated.

Last update: 2024-05-05 00:52:35 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

Abstract

Intention of this component is providing more abstract layer to handling http requests. Utilizing Strategy pattern, this RequestProcessor gives you possibility to dramatically reduce amount of repeating code in your applications

Installation

composer require kami/request-processor

Usage

Firstly you will need your steps extending RequestProcessor\AbstractStep

<?php

use Kami\Component\RequestProcessor\Step\AbstractStep;
use Symfony\Component\HttpFoundation\Request;
use Kami\Component\RequestProcessor\ArtifactCollection;

class MyAwesomeStep extends AbstractStep
{
    public function execute(Request $request) : ArtifactCollection 
    {
        /** Your execute method */
    }
    public function getRequiredArtifacts() : array 
    {
        return ['some_artifact'];
    }
    
}

Build up your strategy

<?php

use Kami\Component\RequestProcessor\AbstractStrategy;

class MyStrategy extends AbstractStrategy
{
    public static function getSteps() : array 
    {
        return [
            new MyAwesomeStep(),
            new MyAnotherStep()    
        ];
    }
}

The one and the only requirement for your strategy is it should end up with at least two artifacts data and status