Nette Code Checker
Code Checker zkontroluje vaše zdrojové soubory a najde v nich formální nedostatky, jako je neviditelný BOM, kontrolní znaky, chybné kódování nebo neplatná syntaxe souborů PHP, Latte, NEON a JSON, a umí je automaticky opravit.
Instalace
Nainstalujte jej globálně pomocí Composeru:
composer global require nette/code-checker
Ujistěte se, že váš globální Composer adresář bin je v proměnné $PATH. Příkaz code-checker je pak
dostupný odkudkoliv, na libovolném operačním systému.
Případně jej nainstalujte jako samostatný projekt:
composer create-project nette/code-checker
Vyžaduje PHP 8.2 nebo vyšší.
Použití
Ve výchozím stavu běží Code Checker v read-only režimu a jen vypíše nalezené problémy:
code-checker
Pro skutečnou opravu souborů přidejte --fix. Nejdřív si soubory zazálohujte, nebo nástroj spusťte nad
čistým pracovním stromem, ať si změny můžete potom zkontrolovat přes git diff:
code-checker --fix
Sken můžete omezit na konkrétní cesty (pro každou z nich zopakujte -d), vynechat soubory nebo spustit
rychlejší kontrolu jen syntaxe:
code-checker -d src -d tests --ignore "temp/*"
code-checker --only-syntax
V read-only režimu skončí nástroj s kódem 0, když je vše v pořádku, a 1, když najde
jakoukoli chybu nebo opravitelný nedostatek, takže se hodí do CI.
Kompletní seznam voleb:
Usage: php code-checker [options]
Options:
-d <path>... Folder or file to scan (default: current directory)
-i, --ignore <mask>... Files to ignore
-f, --fix Fixes files
-l, --eol Convert newline characters
--only-syntax Check only syntax
--no-progress Do not show progress dots
--version Show version
-h, --help Print this help
Co Code Checker dělá
- kontroluje syntaxi Latte šablon a souborů
.php,.neona.json - odstraňuje BOM
- ověřuje, že soubory jsou platné UTF-8
- kontroluje výskyt kontrolních znaků
- převádí odsazení mezerami na tabulátory v souborech CSS, LESS, JS, TS a JSON a šířku odsazení si zjistí sám (soubor s nekonzistentním odsazením jen nahlásí a nechá beze změny)
- kontroluje, že soubory YAML jsou odsazené mezerami
- odstraňuje koncové mezery a prázdné řádky na konci souborů
- normalizuje oddělovače řádků na systémové (s volbou
-l)
Styl PHP kódu
Na styl PHP kódu Code Checker nesahá, to je práce pro DressCode. Ten kontroluje a opravuje PHP kód podle standardu, který si
zvolíte (PER Coding Style, PSR-12, Nette, Symfony nebo Laravel), mění přitom jen to, co opravuje, a umí kód rovnou převést
na novější verzi PHP i na nové verze knihoven. Převzal také PHP kontroly, které dělaly starší verze Code Checkeru:
chybně zapsané phpDoc komentáře, chybějící declare(strict_types=1) a odsazení mezerami v souborech PHP.