Что такое pipe/compose?

Ответ
// pipe - применяет функции слева направо
function pipe(mixed $value, callable ...$fns): mixed {
    foreach ($fns as $fn) {
        $value = $fn($value);
    }
    return $value;
}

$result = pipe(
    '  Hello World  ',
    'trim',
    'strtolower',
    fn($s) => str_replace(' ', '-', $s),
);
// 'hello-world'

// compose - справа налево (математическая композиция)
function compose(callable ...$fns): Closure {
    return function(mixed $value) use ($fns) {
        foreach (array_reverse($fns) as $fn) {
            $value = $fn($value);
        }
        return $value;
    };
}

$slugify = compose(
    fn($s) => str_replace(' ', '-', $s),
    'strtolower',
    'trim',
);
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.