Nette Code Checker
Code Checker vérifie vos fichiers sources et y détecte des défauts formels tels qu'un BOM invisible, des caractères de contrôle, un encodage incorrect ou une syntaxe invalide des fichiers PHP, Latte, NEON, JSON et YAML, et peut les corriger automatiquement.
Installation
Installez-le globalement via Composer :
composer global require nette/code-checker
Assurez-vous que le répertoire bin global de Composer est dans votre $PATH. La commande code-checker est alors
disponible de partout, sur n'importe quel système d'exploitation.
Vous pouvez également l'installer comme projet autonome :
composer create-project nette/code-checker
Il nécessite PHP 8.0 ou supérieur.
Utilisation
Par défaut, Code Checker s'exécute en mode lecture seule et se contente de signaler les problèmes qu'il trouve :
code-checker
Pour réparer réellement les fichiers, ajoutez --fix. Sauvegardez d'abord vos fichiers, ou exécutez-le sur un
arbre de travail propre afin de pouvoir examiner les changements ensuite avec git diff :
code-checker --fix
Vous pouvez limiter l'analyse à un chemin précis, ignorer des fichiers ou exécuter des vérifications de syntaxe plus rapides :
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
En mode lecture seule, l'outil se termine avec le code 0 quand tout va bien et 1 quand un problème
est trouvé, ce qui s'intègre parfaitement dans les pipelines CI.
Liste complète des options :
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
Ce que fait Code Checker
- vérifie la syntaxe des templates Latte et des fichiers
.php,.neonet.json - supprime le BOM
- vérifie que les fichiers sont de l'UTF-8 valide
- contrôle la présence de caractères de contrôle
- détecte les commentaires phpDoc mal formés (par ex.
/* @varau lieu de/** @var) - impose l'indentation par tabulations dans les fichiers PHP, CSS, JS et TS, et par espaces dans YAML
- supprime les espaces de fin et les lignes vides à la fin des fichiers
- normalise les fins de ligne au format système (avec le paramètre
-l)