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 /* @var statt /** @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)