PHP 8.3: PHP CLI Lint (php -l) проверка нескольких файлов
php -l my-file.phpNo syntax errors detected in my-file.phpДо версии PHP 8.3 не было возможности проверять несколько PHP-файлов в одном вызове; независимо от количества файлов, PHP CLI проверял только первый файл:
php -l file1.php file2.phpNo syntax errors detected in file1.phpНачиная с версии PHP 8.3, появилась возможность передавать несколько PHP-файлов, и PHP CLI проверяет все в одном вызове.
php -l file1.php file2.phpNo syntax errors detected in file1.php
No syntax errors detected in file2.phpЕсли в каком-либо из предоставленных файлов линтером обнаружены ошибки, то он выдаёт ошибку и переходит к остальному списку. Если какой-либо из файлов не прошёл проверку, программа завершает работу с ошибкой.
Поддерживаются шаблоны поиска
Помимо передачи нескольких имён файлов по отдельности, можно также использовать шаблон поиска для проверки нескольких файлов:
php -l src/*.php src/**/*.phpКоды выхода
- Если какой-либо файл оказался недоступным, то код выхода будет равен
1. - Если какой-либо из файлов не прошёл проверку, то код выхода будет равен
255. - При наличии обоих условий ошибки код выхода будет равен
1.
Влияние на обратную совместимость
До версии PHP 8.3 PHP CLI молча игнорировал дополнительные файлы, передаваемые на проверку. Для шаблонов поиска он использовал только первый файл.
Для PHP-приложений, работающих только на PHP 8.3+, появилась возможность быстро проверить несколько PHP-файлов или всю кодовую базу, не прибегая к многократному вызову линтера (например, командой find) или использованию сторонних инструментов.
Сторонние инструменты, такие как php-parallel-lint/PHP-Parallel-Lint, могут обеспечить параллельную проверку, работающую на нескольких версиях PHP.