1. Go to this page and download the library: Download matchory/data-pipe 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/ */
matchory / data-pipe example snippets
use Matchory\DataPipe\Nodes\AbstractCollector as Node;
use Matchory\DataPipe\PipelineContext;
class MyNode extends Node
{
public function __construct(protected $yourInternalAgeApi) {}
public function pipe(PipelineContext $context): PipelineContext
{
// Work with the data payload
$email = $context->getPayload()->getAttribute('email');
// Perform domain-specific work
$age = $this->yourInternalAgeApi->query($email);
// Update the payload
if ($age) {
$context->proposeChange($this, 'age', $age);
}
return $context;
}
}
use Matchory\DataPipe\Payload\Payload;
use Matchory\DataPipe\Pipeline;
use Symfony\Component\EventDispatcher\EventDispatcher;
$nodes = [
new MyNode(),
];
$eventDispatcher = new EventDispatcher();
$pipeline = new Pipeline($nodes, $eventDispatcher);
function(): Generator {
yield new Payload([
'email' => '[email protected]'
]);
}
$pipeline->process(fetchNextPayload());
use Matchory\DataPipe\Pipeline;
class EntryPoint {
public function main(Pipeline $pipeline, Generator $recordFetcher): void
{
foreach ($recordFetcher as $record) {
$pipeline->process($recordFetcher);
}
}
}