The pipe operator in PHP 8.5 is going to be one of those features people either underuse or overuse. I like it, but only for the boring reason: it can make transformation code read in the order it actually happens. That is useful. Turning every function call into a pipeline because the syntax is new is not.
The PHP 8.5 release notes describe |> as a way to chain callables left-to-right, and the pipe operator RFC frames it as immediate function composition. The simple example is a slug pipeline: trim a string, replace spaces, strip punctuation, lower-case it. Written as nested calls, that kind of code reads inside-out. Written as a pipeline, it reads like a small recipe.
Where I would use it is in code that already has a clear sequence of transformations. Normalising imported data, preparing text, shaping API input, or passing a value through small named functions are all reasonable fits. Where I would avoid it is business logic with branching, side effects, unclear intermediate state, or callbacks that need long inline closures. At that point the pipe operator is not making the code clearer. It is just making the clever version shorter.
The best PHP features tend to work like this. They give you a cleaner expression for something you were already doing, but they do not remove the need to choose good boundaries. Used carefully, |> should make some code easier to scan in review. Used everywhere, it will just create a new style of unreadable PHP.
