Nette Code Checker
Code Checker controlla nei vostri file sorgente i difetti formali come un BOM invisibile, caratteri di controllo, codifica rovinata o sintassi non valida dei file PHP, Latte, NEON e JSON, e sa correggerli automaticamente.
Installazione
Installatelo globalmente con Composer:
composer global require nette/code-checker
Assicuratevi che la directory globale bin di Composer sia nel vostro $PATH. Il comando code-checker è poi
disponibile da qualsiasi punto, su qualsiasi sistema operativo.
In alternativa installatelo come progetto autonomo:
composer create-project nette/code-checker
Richiede PHP 8.0 o superiore.
Uso
Per impostazione predefinita Code Checker gira in modalità di sola lettura e si limita a segnalare i problemi che trova:
code-checker
Per riparare davvero i file aggiungete --fix. Fate prima un backup dei file, oppure lanciatelo su un albero di
lavoro pulito, così potrete poi esaminare le modifiche con git diff:
code-checker --fix
Potete limitare la scansione a un percorso specifico, saltare dei file oppure eseguire controlli più veloci sulla sola sintassi:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
In modalità di sola lettura lo strumento esce con codice 0 quando è tutto a posto e 1 quando trova
un errore o un problema correggibile, quindi si inserisce bene nelle pipeline di CI.
Elenco completo delle opzioni:
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
Che cosa fa Code Checker
- controlla la sintassi dei template Latte e dei file
.php,.neone.json - rimuove il BOM
- verifica che i file siano UTF-8 valido
- controlla i caratteri di controllo
- rileva i commenti phpDoc malformati (per esempio
/* @varinvece di/** @var) - segnala i file PHP privi della dichiarazione
declare(strict_types=1) - impone le tabulazioni per l'indentazione nei file PHP, CSS, JS e TS, e gli spazi in YAML
- rimuove gli spazi finali e le righe vuote alla fine dei file
- normalizza i fine riga al valore predefinito del sistema (con il parametro
-l)