Все, що потрібно знати про PHP 8.5: від clone with до Fatal Er | Beer::PHP 🍺
Все, що потрібно знати про PHP 8.5: від clone with до Fatal Errors stack trace
Друзі, цього разу ми з Йожефом пройшлися по прийнятих RFC у PHP 8.5 — від клонування імутабельних об’єктів до покращення OPcache і свіжого pipe-оператора.
Що розібрали по суті (з живими прикладами):
• Immutability + clone with — нормальний шлях для value objects/DTO. Порівняли з попередніми «костилями» (рефлексія, копіпасти with*), розібрали нюанси: публічний set для readonly, порядок викликів та відсутність параметрів у __clone, shallow vs deep copy.
• URI-класи в ядрі (RFC 3986 / WHATWG) — стандартизований парсинг без власноручних регексів.
• array_first() / array_last() — прозорий доступ до крайніх елементів без reset()/end() та внутрішніх поінтерів; чому це справді краще за array_key_first()/array_key_last().
• Pipe operator |> — ланцюжки викликів у зрозумілому функціональному стилі.
• #[NoDiscard] — ловимо тих, зто «забув використати» дані з return.
• Стек-трейс у Fatal Errors — нарешті нормальний дебаг замість «білого екрану».
Велика подяка Йожефу за настрій та практичні поради, як завжди було круто
Випуск вже на каналі. Слухайте, дивіться, ставте питання та вподобайку, якщо було корисно.