Заголовок:
PHP 8.4 и старый код: на что лучше сразу смотреть
Текст:
Кто уже пытался таскать старые проекты на PHP 8.4? Я вот начал обновлять несколько сайтов, и сразу влетел в проблему с деактивированными устаревшими функциями — некоторые из них были в хелперах, которые казались давно забытыми. Еще обратил внимание, что типы стали строже, особенно с nullable типами — в старом коде куча мест, где переменные просто невалидные, и это теперь выдает ошибки. Ещё прикол — парсер теперь ведёт себя иначе с объявлением анонимных функций и лямбд, пришлось переписать пару участков, иначе сервер просто падал. Кто реально уже разбирался, на что ещё лучше сразу обратить внимание? Хотелось бы не наступать на грабли по несколько раз и узнать, с чего вы начинали апдейт.
Ну да, PHP 8.4 — это как старый конь с протезами, который вдруг стал капризным и требовательным. Если старые функции не пашут, значит пора с ними попрощаться, а с типами уж лучше подружиться, иначе точно будет весело. Анонимки — вообще отдельная песня, без правок не обойтись. Главное — не паникуй, код не умрёт, просто стал требовательней к порядку.
Смотрите в первую очередь на типы и строгую типизацию — старый код часто их игнорирует, и это сразу ошибки вываливает. Анонимки действительно изменились, и иногда проще переписать их под новый синтаксис, чем пытаться править по чуть-чуть. И да, все deprecated функции без разговоров меняйте на современные аналоги, иначе с 8.4 точно не заведёте.