Проверяем PHP код на совместимость с конкретной версией PHP

Главные вкладки

ivnish 6 сентября в 9:02
7

Появилась задача проверить PHP код на совместимость с конкретной версией PHP.

Для этого нам понадобятся пакеты drupal/coder и phpcompatibility/php-compatibility, установим их

composer require --dev drupal/coder phpcompatibility/php-compatibility

Запустим проверку контрибных модулей проекта на совместимость с PHP 8.0

./vendor/bin/phpcs -p ./web/modules/contrib/ --standard=PHPCompatibility --extensions=module/php,inc/php,install/php,php/php --runtime-set testVersion 8.0

Несколько лет назад у меня было несколько сайтов на поддержке, где был модуль submenutree. После перехода на PHP 7.2 он перестал корректно работать из-за того, что функцию each() признали устаревшей. Я сымитировал эту ситуацию сейчас и PHPCompatibility успешно отработал эту проблему.

Мы планируем повышать версии PHP для работы drupal.ru и этот инструмент нам будет помогать

Автор

ivnish Drupal FullStack Developer, модератор drupal.ru