Nette Code Checker

Code Checker überprüft Ihre Quelldateien auf formale Mängel wie ein unsichtbares BOM, Steuerzeichen, fehlerhafte Kodierung oder ungültige Syntax von PHP-, Latte-, NEON-, JSON- und YAML-Dateien und kann diese automatisch beheben.

Installation

Installieren Sie ihn global über Composer:

composer global require nette/code-checker

Stellen Sie sicher, dass sich Ihr globales Composer-Verzeichnis bin in Ihrem $PATH befindet. Der Befehl code-checker ist dann von überall aus verfügbar, auf jedem Betriebssystem.

Alternativ können Sie ihn als eigenständiges Projekt installieren:

composer create-project nette/code-checker

Er erfordert PHP 8.0 oder höher.

Verwendung

Standardmäßig läuft Code Checker im read-only-Modus und meldet nur die gefundenen Probleme:

code-checker

Um die Dateien tatsächlich zu reparieren, fügen Sie --fix hinzu. Sichern Sie Ihre Dateien zuvor oder führen Sie ihn über einem sauberen Arbeitsbaum aus, damit Sie die Änderungen anschließend mit git diff überprüfen können:

code-checker --fix

Sie können den Scan auf einen bestimmten Pfad beschränken, Dateien überspringen oder schnellere reine Syntaxprüfungen ausführen:

code-checker -d src --ignore "temp/*"
code-checker --only-syntax

Im read-only-Modus endet das Werkzeug mit dem Code 0, wenn alles in Ordnung ist, und mit 1, wenn ein Problem gefunden wird, 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 Code Checker macht

  • prüft die Syntax von Latte-Templates sowie von .php-, .neon- und .json-Dateien
  • entfernt das BOM
  • überprüft, ob die Dateien gültiges UTF-8 sind
  • prüft auf Steuerzeichen
  • erkennt fehlerhaft geschriebene phpDoc-Kommentare (z. B. /* @var statt /** @var)
  • erzwingt die Einrückung mit Tabulatoren in PHP-, CSS-, JS- und TS-Dateien und mit Leerzeichen in YAML
  • entfernt nachgestellte Leerzeichen und Leerzeilen am Ende von Dateien
  • normalisiert die Zeilenenden auf den Systemstandard (mit dem Parameter -l)