PHP 8.5 — Конвеєри та посилення платформи
Оператор `|>`, `#[\NoDiscard]`, замикання в константних виразах, ext/uri, суворіші filter/PDO/Opcache.
Прослідковуємо еволюцію мови від PHP 5.3 до актуальних релізів PHP 8.x — із практичними прикладами та чеклістами міграції.
Оператор `|>`, `#[\NoDiscard]`, замикання в константних виразах, ext/uri, суворіші filter/PDO/Opcache.
Хуки властивостей, асиметрична видимість, lazy objects, новий API `Dom\*`, `#[Deprecated]` — і що прибрати до наступного кроку.
`#[Override]`, типізовані константи класів, `json_validate`, `str_increment` / `str_decrement` і дрібні зміни runtime під навантаженням.
Readonly-класи, DNF-типи, окремі `null`/`false`/`true`, `#[SensitiveParameter]`, розширення Random, deprecations динамічних властивостей.
Enums, readonly-властивості, fibers, перетин типів, first-class callable і посилення вимог порівняно з 8.0.
Іменовані аргументи, match, атрибути, JIT, union-типи, nullsafe `?->` і суворіша поведінка стандартної бібліотеки.
Типізовані властивості, arrow functions, FFI, preload OPcache, пара `__serialize` / `__unserialize` і типові пастки BC.
Гнучкий heredoc/nowdoc, кінцеві коми у викликах, `JsonException`, `is_countable`, `array_key_first`/`last`, PCRE2, Argon2id і тонкі BC (`ArrayAccess`, посилання, `continue` у `switch`).
Підказка `object`, розширення типів параметрів, Sodium у ядрі, LDAP EXOP, addrinfo sockets — попередження `count()`/`get_class(null)` і mcrypt у PECL.
`?Type`, `void`, `iterable`, видимість констант, multi-catch, `list()` з ключами — плюс `ArgumentCountError`, видалені session INI і BC рядків.
Скалярні та типи повернення, `??` і `<=>`, анонімні класи, `Closure::call`, генератори, `random_bytes`, фільтрований `unserialize` і `Throwable`/BC епохи 5.x.
Варіадичний `...`, розпаковка аргументів, степінь `**`, `use function`/`const`, константні вирази — остання зупинка перед стрибком рушія PHP 7.
Генератори з `yield`, `finally`, API `password_hash`, `array_column`, `ClassName::class` — і тонка BC для `foreach`/`list()`, яку варто прогнати регресією.
Трейти, короткий синтаксис масивів `[]`, підказка `callable`, `$this` у замиканнях, вбудований вебсервер — прибрано magic quotes і `register_globals`, deprecated `mysql`.
Namespaces, `use`, пізнє статичне зв’язування, замикання, `goto`, NOWDOC, опційний GC циклів, Phar — і BC (нові ключові слова, deprecation `ereg*`) на шляху від звичок PHP 4.