PHP code example of kariricode / processor-pipeline
1. Go to this page and download the library: Download kariricode/processor-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/ */
kariricode / processor-pipeline example snippets
use KaririCode\Contract\Processor\Processor;
class EmailNormalizer implements Processor
{
public function process(mixed $input): string
{
return strtolower(trim($input));
}
}
class EmailValidator implements Processor
{
public function process(mixed $input): bool
{
return false !== filter_var($input, FILTER_VALIDATE_EMAIL);
}
}
use KaririCode\ProcessorPipeline\ProcessorRegistry;
use KaririCode\ProcessorPipeline\ProcessorBuilder;
$registry = new ProcessorRegistry();
$registry->register('user', 'emailNormalizer', new EmailNormalizer());
$registry->register('user', 'emailValidator', new EmailValidator());
$builder = new ProcessorBuilder($registry);
use KaririCode\Contract\Processor\ConfigurableProcessor;
class AgeValidator implements ConfigurableProcessor
{
private int $minAge = 0;
private int $maxAge = 120;
public function configure(array $options): void
{
if (isset($options['minAge'])) {
$this->minAge = $options['minAge'];
}
if (isset($options['maxAge'])) {
$this->maxAge = $options['maxAge'];
}
}
public function process(mixed $input): bool
{
return is_numeric($input) && $input >= $this->minAge && $input <= $this->maxAge;
}
}
$registry->register('user', 'ageValidator', new AgeValidator());
$pipeline = $builder->buildPipeline('user', ['ageValidator' => ['minAge' => 18, 'maxAge' => 100]]);
use KaririCode\Validator\Validators\EmailValidator;
use KaririCode\Validator\Validators\NotEmptyValidator;
$registry->register('validation', 'email', new EmailValidator());
$registry->register('validation', 'notEmpty', new NotEmptyValidator());
$validationPipeline = $builder->buildPipeline('validation', ['notEmpty', 'email']);
$isValid = $validationPipeline->process($userInput);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.