На календарі 2026 рік, і PHP знову надихає! Розповідаю, чому це так.
PHP 8.5
PHP 8.5 вийшов наприкінці минулого листопада, але на практиці більшість розробників почне використовувати його саме у 2026-му. Реліз приніс кілька цікавих можливостей. З’явився pipe operator, хоча, чесно кажучи, йому поки бракує однієї важливої деталі (про неї трохи згодом):
$output = $input |> trim(...) |> (fn (string $string) => str_replace(' ', '-', $string)) |> (fn (string $string) => str_replace(['.', '/', '…'], '', $string)) |> strtolower(...);
Ще одна новинка PHP 8.5 — можливість клонувати об'єкт, одночасно передаючи йому дані. Хоча я б обрав іншу реалізацію, це все одно корисна фіча:
final class Book { public function __construct( public string $title, public string $description, ) {} public function withTitle(string $title): self { return clone($this, [ 'title' => $title, ]); } }
У PHP 8.5 покращили closures — тепер їх можна використовувати в attributes:
#[SkipDiscovery(static function (Container $container): bool { return ! $container->get(Application::class) instanceof ConsoleApplication; })] final class BlogPostEventHandlers { /* … */ }
Також нарешті з’явилися backtraces для fatal errors:
Fatal error: Maximum execution time of 1 second exceeded in example.php on line 6
Stack trace:
#0 example.php(6): usleep(100000)
#1 example.php(7): recurse()
#2 example.php(7): recurse()
#3 example.php(7): recurse()
#4 example.php(7): recurse()
#5 example.php(7): recurse()
#6 example.php(7): recurse()
#7 example.php(7): recurse()
#8 example.php(7): recurse()
#9 example.php(7): recurse()
#10 example.php(10): recurse()
#11 {main}Загалом, це впевнений реліз із купою дрібних покращень. А тепер повернемося до pipe operator і того, чому він стане набагато крутішим саме у 2026-му.
Partial function application
Наприкінці 2025 року було прийнято новий RFC, що додає partial function application. Звучить складно, але суть проста: ви можете створити посилання на функцію, де частина параметрів уже визначена:
$makeSlug = str_replace('-', ' ', ?); $slug = $makeSlug('Hello World');
Бачите знак питання? Це плейсхолдер для майбутнього значення. PFA відкриває багато можливостей, про які я розповім у наступних постах — тож підписуйтеся на розсилку, щоб нічого не пропустити.
Головна фішка PFA у тому, що він дозволяє перетворити будь-яку функцію на closure з одним параметром. Це ідеально поєднується з pipe operator, який вимагає саме такого формату. Попередній приклад можна переписати значно елегантніше:
$output = $input |> trim(...) |> str_replace(' ', '-', ?) |> str_replace(['.', '/', '…'], '', ?) |> strtolower(...);
Саме PFA розкриє справжній потенціал pipe operator. Чекаємо на цей функціонал у PHP 8.6, реліз якого заплановано на кінець 2026 року.
Pattern matching
Ще один перспективний RFC — pattern matching. Він все ще обговорюється, але я дуже сподіваюся на його прийняття:
$string = match ($object) is { Foo => 'foo', Bar => 'bar', Baz|Beep => 'baz', }; if ($var is 'heart'|'spade'|self::Wild) { // Hi! }
FrankenPHP
FrankenPHP існує вже кілька років, але минулого року почалася його офіційна співпраця з PHP Foundation. Багато хто сподівається (і я серед них), що FrankenPHP стане стандартним runtime для мови.
Якщо коротко, FrankenPHP — це новий сервер для PHP на базі Go. Він підтримує worker mode для тривалих скриптів, дозволяє компілювати проєкт у бінарний файл для швидкого деплою та підтримує сучасні протоколи HTTP. Він може стати простою заміною PHP-FPM, яка дає 10% приросту продуктивності без жодних додаткових зусиль.
Mago
Екосистема PHP поповнилася інструментом Mago, який нещодавно отримав перший стабільний реліз. Це написаний на Rust набір інструментів: linter, formatter та static analyzer. Завдяки Rust він працює блискавично. Я користуюся ним уже кілька місяців і впевнений, що цього року проєкт масштабується.
TrueAsync
Справжнім проривом може стати робота Едмонда над async PHP. Він уже на сьомій версії свого RFC і продовжує його вдосконалювати. Едмонд фокусується на multithreading для важких обчислень. Хоча я вважаю, що більшості проєктів більше допоміг би async I/O, цей напрямок розвитку надзвичайно важливий.
PHPverse
Минулого року ми вперше організували онлайн-конференцію PHPverse, і це був успіх: понад 5000 глядачів у прямому ефірі та тисячі переглядів згодом. Радий повідомити, що PHPverse повертається у 2026-му! Деталі згодом — стежте за новинами в розсилці.
Tempest
І наостанок — особисте. Останні два роки я разом із командою талановитих розробників працюю над Tempest — фреймворком для сучасної розробки на PHP. Ми вже готуємо третій мажорний реліз. Проєкт об'єднав понад 80 контриб’юторів та 600 учасників у Discord. Бачити, як розвивається open source — це, мабуть, мій головний хайлайт року.
А чого ви чекаєте від PHP у 2026 році? Діліться думками в коментарях!