Nette Code Checker
Code Checker проверяет ваши исходные файлы на формальные недочёты вроде невидимого BOM, управляющих символов, повреждённой кодировки или неверного синтаксиса файлов PHP, Latte, NEON и JSON и умеет исправлять их автоматически.
Установка
Установите его глобально через Composer:
composer global require nette/code-checker
Убедитесь, что глобальный каталог Composer bin находится в вашем $PATH. Команда code-checker
тогда доступна откуда угодно и в любой операционной системе.
Как вариант, установите его как самостоятельный проект:
composer create-project nette/code-checker
Он требует PHP 8.0 или новее.
Использование
По умолчанию Code Checker работает в режиме только для чтения и лишь сообщает о найденных проблемах:
code-checker
Чтобы файлы действительно исправлять, добавьте --fix. Сначала
сделайте резервную копию файлов или запускайте его на чистом рабочем
дереве, чтобы потом просмотреть изменения через git diff:
code-checker --fix
Проверку можно ограничить конкретным путём, пропускать файлы или выполнять более быструю проверку только синтаксиса:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
В режиме только для чтения инструмент завершается с кодом 0,
когда всё в порядке, и 1, когда находит какую-нибудь ошибку или
исправимую проблему, так что он хорошо вписывается в конвейеры CI.
Полный список параметров:
Usage: code-checker [options]
Options:
-d <path> Folder or file to scan (default: current directory)
-i | --ignore <mask> Files to ignore
-f | --fix Fix the files
-l | --eol Normalize line endings to the system default
--only-syntax Check syntax only (faster)
--no-progress Do not show progress dots
--version Show version
Что делает Code Checker
- проверяет синтаксис шаблонов Latte и файлов
.php,.neonи.json - убирает BOM
- проверяет, что файлы являются корректным UTF-8
- проверяет управляющие символы
- обнаруживает неправильно записанные комментарии phpDoc (например,
/* @varвместо/** @var) - сообщает о PHP-файлах, в которых нет объявления
declare(strict_types=1) - требует табуляции для отступов в файлах PHP, CSS, JS и TS и пробелов в YAML
- убирает пробелы в конце строк и пустые строки в конце файлов
- приводит окончания строк к принятым в системе (с параметром
-l)