PHP 8.5 — Конвейери и стягане на платформата
Оператор `|>`, `#[\NoDiscard]`, closures в константни изрази, ext/uri, по-строги filter/PDO/Opcache.
Проследяваме еволюцията на езика от PHP 5.3 до актуалните PHP 8.x — с практични примери и чеклисти за миграция.
Оператор `|>`, `#[\NoDiscard]`, closures в константни изрази, ext/uri, по-строги filter/PDO/Opcache.
Куки на свойства, асиметрична видимост, lazy objects, нов `Dom\*` API, `#[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` hint, разширяване на типове на параметри, 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.