Nette Code Checker
Der Code Checker prüft Ihre Quelldateien auf formale Mängel wie ein unsichtbares BOM, Steuerzeichen, kaputte Kodierung oder ungültige Syntax von PHP-, Latte-, NEON- und JSON-Dateien und kann sie automatisch beheben.
Installation
Installieren Sie ihn global mit Composer:
composer global require nette/code-checker
Stellen Sie sicher, dass Ihr globales bin-Verzeichnis von Composer in Ihrem $PATH liegt. Der Befehl code-checker
ist dann von überall und auf jedem Betriebssystem verfügbar.
Alternativ können Sie ihn als eigenständiges Projekt installieren:
composer create-project nette/code-checker
Er benötigt PHP 8.0 oder höher.
Verwendung
Standardmäßig läuft der Code Checker im Nur-Lesen-Modus und meldet nur die gefundenen Probleme:
code-checker
Um die Dateien tatsächlich zu reparieren, ergänzen Sie --fix. Sichern Sie Ihre Dateien vorher oder führen Sie
ihn auf einem sauberen Arbeitsverzeichnis aus, damit Sie die Änderungen danach mit git diff durchsehen können:
code-checker --fix
Sie können den Scan auf einen bestimmten Pfad beschränken, Dateien überspringen oder schnellere Prüfungen nur der Syntax ausführen:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
Im Nur-Lesen-Modus beendet sich das Werkzeug mit dem Code 0, wenn alles in Ordnung ist, und mit 1,
wenn es einen Fehler oder ein behebbares Problem findet, sodass es sich gut in CI-Pipelines einfügt.
Vollständige Liste der Optionen:
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
Was der Code Checker tut
- prüft die Syntax von Latte-Templates und von
.php-,.neon- und.json-Dateien - entfernt das BOM
- prüft, ob die Dateien gültiges UTF-8 sind
- sucht nach Steuerzeichen
- erkennt fehlerhafte phpDoc-Kommentare (etwa
/* @varstatt/** @var) - meldet PHP-Dateien, denen die Deklaration
declare(strict_types=1)fehlt - erzwingt Tabs zur Einrückung in PHP-, CSS-, JS- und TS-Dateien und Leerzeichen in YAML
- entfernt Leerzeichen am Zeilenende und Leerzeilen am Ende von Dateien
- normalisiert die Zeilenenden auf den Standard des Systems (mit dem Parameter
-l)