Как найти участки кода несовместимые с PHP 8.1 версии?
Приветствую!
Есть рабочий код на PHP 7.4, который планируется переехать на PHP 8.1
Каким инструментом можно найти все места в коде, которые обратно несовместимы между PHP 8.1 и 7.4 ?
в идеальном мире нужно на тестовом стенде обновить php и прогнать тесты.
Но идеального мира не существует.
Тоже интересны способы, кроме ручного аудита.
Еще есть есть способ с использованием PhpStorm.
Включаем в настройках версию php8.0/8.1 и прогоняем инспекцию кодовой базы.
Все проблемы будут вывалены в отдельном окошке. Некоторые можно даже пофиксить автоматически.
Однако есть один момент. Желательно чтобы до обновления php инспектирование выдавало ноль проблем. Там до хрена инспекций, код часто пишется не очень аккуратно, или программист принципиально не согласен с предложениями IDE (в этом случае инспекции можно отключить или подавить) и может выдаваться море проблем. Особенно на legacy коде. Можно в них потеряться в поиске тех, что относятся в php8.
Позволяет выбрать целевую версию PHP и покажет в отчёте места, н совместимые или написанные в стиле старых версий. Также позволяет большинство участков кода отрефакторить автоматически.
Сергей Соколов, rector лезет только в ту папку которую указали.
Пару свои проектов на симфони обновлял, не тулза, а чудо, одна команда и код обновляется до последних стандартов симофни и php, + можно задать разные правила рефакторинга.