Рубріки: Новини

Мова програмування PHP оновлена до версії 8.4

Дмитро Сімагін

Після року розробки представлено реліз мови програмування PHP 8.4. Нова версія включає кілька важливих оновлень, серед яких варто виділити:

  • Запропоновано нову реалізацію JIT-компілятора, побудовану на базі IR Framework. Додано підтримку прикріплення обробників властивостей (property hook), які підтримують додачу додаткової логіки. Це дає можливість значно скоротити обсяг коду.
  • Дозволено вказівку посилань на методи конструкції “new” без відокремлювальних дужок. Тобто. замість “$name = (new MyClass())->method()” тепер можна вказувати “$name = new MyClass()->method()“.
  • Додано можливість асиметричного управління видимістю властивостей об’єктів (public, private, protected), окремо для операцій запису (set) та читання (get).
  • Надано штатну підтримку “ледачих” об’єктів (lazy), ініціалізація яких здійснюється в момент першого використання.
  • Додано атрибут “#[\Deprecated]“, призначений для позначення застарілих функцій, класів та методів.
  • Додані методи DateTime::getMicrosecond() та DateTimeImmutable::setMicrosecond($microsecond) для отримання та встановлення часу з мікросекундною точністю, а також метод DateTime::createFromTimestamp().
  • Додані нові функції mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), mb_lcfirst(), bcceil(), bcdivmod(), bcfloor() та bcround(), pcntl_getcpu(), pcntl_getc , pcntl_setns(), pcntl_waitid(), http_get_last_response_headers(), http_clear_last_response_headers(), fpow().
  • Операції exit та die тепер можна викликати у формі повноцінних функцій, які допускається передавати як аргумент у інші функції. Раніше можливості функцій exit() і die() були дуже обмежені.
  • Додано зміни, що ускладнюють експлуатацію вразливостей, викликаних виходом за межі буфера, а також тих, які посилюють рандомізацію імен файлів, що створюються через функцію tempnam().
  • Оголошено застарілою поведінку, при якій для параметрів функцій із значенням null, що присвоєно за замовчуванням, автоматично дозволялося присвоєння значень null.
  • Оголошено застарілими низку констант.

Також варто відмітити випуск статичного аналізатора PHPStan 2.0, який дозволяє знаходити помилки в коді PHP без його виконання та використання unit-тестів. 

Останні статті

Google Antigravity обурює розробників: ціни злітають, а квоти тануть

Професійна розробка на базі Google Antigravity перетворюється на розкіш через різке скорочення безкоштовних лімітів та…

12.03.2026

Китай обмежує використання агентів OpenClaw: загрожують безпеці

Китай намагається обмежити застосування автономних ШІ-агентів, які протягом останніх тижнів набули великої популярності серед користувачів.…

12.03.2026

Gemini CLI тепер має режим планування. Готуйтесь до запитань від агента

Компанія Google оголосила про запуск режима планування в своєму інструменті командного рядка Gemini CLI. У…

12.03.2026

Оптимізм IT-фахівців згасає: Glassdoor оприлюднив індекс довіри

Впевненість фахівців у стабільності власних компаній стрімко тане. Це створює нові виклики для глобального ринку…

12.03.2026

Perplexity представляє Personal Computer — «більш безпечну» альтернативу OpenClaw. Так, він теж працює на Mac mini

Компанія Perplexity запускає власного агента зі штучним інтелектом під назвою Personal Computer. Він працює на…

12.03.2026

Google запускає пробні версії мобільних ігор

У магазині додатків Google Play з'явилася нова функція Game Trials. Вона надає можливість зіграти в…

12.03.2026