Přeskočit na obsah
</> { } <div> </> {} </> function() </> {}

PHP 8.5: Pipe operátor

PHP 8.5 přináší jednu z těch „hezky malých“ změn, které ale dělají kód mnohem čitelnější: pipe operátor |>.
Umožňuje postupně „protlačit“ hodnotu přes několik funkcí zleva doprava, místo skládání vnořených volání.​

Do PHP 8.5 to často vypadalo nějak takhle (někdy hůře v jednom řádku):

<?php

$title = '  Novinky v PHP 8.5!  ';

$slug = strtolower(
    str_replace('!', '', 
        str_replace(' ', '-', 
            trim($title)
        )
    )
);

echo $slug; // novinky-v-php-85

S pipe operátorem |> můžeme psát kód zleva doprava tak, což je intuitivnější.

<?php

$title = '  Novinky v PHP 8.5!  ';

$slug = $title
    |> trim(...)
    |> (fn (string $value) => str_replace(' ', '-', $value))
    |> (fn (string $value) => str_replace('!', '', $value))
    |> strtolower(...);

echo $slug; // novinky-v-php-85

Osobně v tom vidím dobrého pomocníka pro čtenější funkcionální styl (připomíná to tečku u JavaScriptu) – hlavně třeba při práci s kolekcemi, CSV/JSON transformacemi. Na druhou stranu to zavání ošklivostmi, ale čas ukáže, jak se to osvědčí v praxi.

Zdroj: https://wiki.php.net/rfc/pipe-operator