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.