Nette Code Checker
Code Checker проверява изходните ви файлове за формални недостатъци като невидим BOM, контролни знаци, повредено кодиране или невалиден синтаксис на PHP, Latte, NEON, JSON и YAML файлове и може да ги поправи автоматично.
Инсталация
Инсталирайте го глобално чрез 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, CSS, JS и TS и с интервали в YAML
- премахва интервалите в края на редовете и празните редове в края на файловете
- нормализира разделителите на редове към системните (с опцията
-l)