$result = "Hello World" |> strtoupper(...) |> str_shuffle(...) |> trim(...); В php 8.5 обещают завести pipe operator, который упростит вызовы по цепочке. В очередной раз написав что-то вроде: array_values(array_unique(array_*)); Я задумался, можно ли сейчас уже упростить себе жизнь. Ответ: да! php

namespace AppUtils;

use Closure;

class Pipe { public static function call( mixed $value, Closure ...$functions ): mixed { return array_reduce( $functions, fn(mixed $carry, Closure $function) = $function($carry), $value, ); } } Всё еще многословно, но хотя бы не так монструозно в вызове: `Pipe::call($array, array_values(...), array_unique(...));```