Nette Code Checker

Code Checker controlla i tuoi file sorgente alla ricerca di difetti formali come un BOM invisibile, caratteri di controllo, codifica errata o sintassi non valida nei file PHP, Latte, NEON, JSON e YAML, e può correggerli automaticamente.

Installazione

Installalo globalmente tramite Composer:

composer global require nette/code-checker

Assicurati che la directory globale bin di Composer sia nel tuo $PATH. Il comando code-checker è quindi disponibile da qualsiasi posizione, su qualsiasi sistema operativo.

In alternativa, installalo come progetto autonomo:

composer create-project nette/code-checker

Richiede PHP 8.0 o superiore.

Utilizzo

Per impostazione predefinita, Code Checker viene eseguito in modalità di sola lettura e segnala solo i problemi che trova:

code-checker

Per riparare effettivamente i file, aggiungi --fix. Esegui prima un backup dei file, oppure eseguilo su un albero di lavoro pulito così potrai rivedere le modifiche in seguito con git diff:

code-checker --fix

Puoi limitare la scansione a un percorso specifico, saltare file o eseguire controlli più rapidi solo sulla 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 viene trovato un problema, quindi si integra perfettamente nelle pipeline 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

Cosa fa Code Checker

  • controlla la sintassi dei template Latte e dei file .php, .neon.json
  • rimuove il BOM
  • verifica che i file siano UTF-8 validi
  • controlla la presenza di caratteri di controllo
  • rileva commenti phpDoc malformati (es. /* @var invece di /** @var)
  • impone l'indentazione con tabulazioni nei file PHP, CSS, JS e TS, e con spazi in YAML
  • rimuove gli spazi finali e le righe vuote alla fine dei file
  • normalizza i fine riga al valore predefinito di sistema (con il parametro -l)