1. Go to this page and download the library: Download rockett/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/ */
$pipeline = (new Pipeline)->pipe(static function ($traveler) {
return $traveler * 10;
});
use Rockett\Pipeline\Pipeline;
use Rockett\Pipeline\Contracts\StageContract;
class TimesTwoStage implements StageContract
{
public function __invoke($traveler)
{
return $traveler * 2;
}
}
$pipeline = (new Pipeline)
->pipe(new TimesTwoStage)
->pipe(new PlusOneStage);
$pipeline->process(10); // Returns 21
$processApiRequest = (new Pipeline)
->pipe(new ExecuteHttpRequest) // B
->pipe(new ParseJsonResponse); // C
$pipeline = (new Pipeline)
->pipe(new ConvertToPsr7Request) // A
->pipe($processApiRequest) // (B and C)
->pipe(new ConvertToDataTransferObject); // D
$pipeline->process(new DeleteArticle($postId));
use Rockett\Pipeline\Builder\PipelineBuilder;
$builder = new PipelineBuilder;
$builder->add(new ValidateInput)
->add(new SanitizeData);
if ($config->get('logging.enabled')) {
$builder->add(new LogRequest);
}
if ($user->hasPermission('admin')) {
$builder->add(new EnrichWithAdminData);
}
$builder->add(new TransformToResponse)
->add(new CompressOutput);
$pipeline = $builder->build();
$result = $pipeline->process($request);
use Rockett\Pipeline\Pipeline;
use Rockett\Pipeline\Processors\FingersCrossedProcessor;
$pipeline = new Pipeline(new FingersCrossedProcessor);
// Or simply: new Pipeline() – FingersCrossedProcessor is the default
use Rockett\Pipeline\Processors\Processor;
$processor = (new Processor())
->continueUnless(fn($traveler) => $traveler->hasError())
->beforeEach(fn($traveler) => $logger->info('Processing:', $traveler->toArray()))
->afterEach(fn($traveler) => $metrics->increment('pipeline.stage.completed'));
$pipeline = (new Pipeline($processor))
->pipe(new ValidateInput)
->pipe(new ProcessData)
->pipe(new SaveToDatabase);
use Rockett\Pipeline\Processors\Processor;
$processor = (new Processor())
->continueUnless(fn($traveler) => $traveler->hasError());
$pipeline = (new Pipeline($processor))
->pipe(new ValidateInput)
->pipe(new ProcessData)
->pipe(new SaveToDatabase);
$output = $pipeline->process($request);
// Exit when condition is true
$processor = (new Processor())
->continueUnless(fn($traveler) => $traveler->hasError());
// Exit when condition becomes false
$processor = (new Processor())
->continueWhen(fn($traveler) => $traveler->isValid());
// Invert the condition
$processor = (new Processor())
->continueWhen(fn($traveler) => $traveler->isValid())
->invert(); // Now exits when isValid() returns false
use Rockett\Pipeline\Processors\Processor;
$processor = (new Processor())
->beforeEach(fn($traveler) => $logger->info('Processing:', $traveler->toArray()))
->afterEach(fn($traveler) => $metrics->increment('pipeline.stage.completed'));
$pipeline = (new Pipeline($processor))
->pipe(new StageOne)
->pipe(new StageTwo)
->pipe(new StageThree);
$output = $pipeline->process($traveler);
class ProcessPaymentStage implements StageContract
{
public function condition($traveler): bool
{
return $traveler->
$pipeline = (new Pipeline)->pipe(
static fn () => throw new LogicException
);
try {
$pipeline->process($traveler);
} catch(LogicException $e) {
// Handle the exception.
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.