Kevin Eaton

The same thing as a PipeHub

A PipeHub is Pipe Dream's pipeline. The same three steps:

<?php

use Keaton\PipeDream\PipeHub;

$post = (object) ['title' => '  hello,   PIPE dream  '];

PipeHub::create()
    ->addPipes([
        fn ($post) => $post->title = trim($post->title),
        fn ($post) => $post->title = preg_replace('/\s+/', ' ', $post->title),
        fn ($post) => $post->title = ucwords(strtolower($post->title)),
    ])
    ->sendIt($post);

echo $post->title;
Hello, Pipe Dream

No $next to call and nothing to return: the hub moves on to the next pipe by itself.

Same three steps, same result. So far the plain pipeline has done everything the hub did.