https://www.php.net/releases/8.5/ru.php Ура, релиз 8.5! Больше всего я ждал pipe: $title = ' PHP 8.5 Released ';

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

var_dump($slug); // string(15) "php-85-released" И замыкания и вызовы первого класса в константных выражениях: final class PostsController { #[AccessControl(static function ( Request $request, Post $post, ): bool { return $request->user === $post->getAuthor(); })] public function update( Request $request, Post $post, ): Response { // ... } } Второе особенно интересно, ведь теперь Callback валидаторы, IsGranted в symfony можно будет писать "по месту", а не ссылаясь на имя функции.