Nette Code Checker

Code Checker verifică fișierele sursă pentru defecte formale precum un BOM invizibil, caractere de control, codificare deteriorată sau sintaxă invalidă a fișierelor PHP, Latte, NEON, JSON și YAML și le poate corecta automat.

Instalare

Instalați-l global prin Composer:

composer global require nette/code-checker

Asigurați-vă că directorul global Composer bin se află în $PATH-ul dumneavoastră. Comanda code-checker este apoi disponibilă de oriunde, pe orice sistem de operare.

Alternativ, instalați-l ca proiect de sine stătător:

composer create-project nette/code-checker

Necesită PHP 8.0 sau o versiune superioară.

Utilizare

În mod implicit, Code Checker rulează în mod read-only și doar raportează problemele pe care le găsește:

code-checker

Pentru a repara efectiv fișierele, adăugați --fix. Faceți mai întâi o copie de rezervă a fișierelor sau rulați-l pe un arbore de lucru curat, ca să puteți examina apoi modificările cu git diff:

code-checker --fix

Puteți limita scanarea la o cale anume, puteți omite fișiere sau puteți rula verificări mai rapide doar de sintaxă:

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

În modul read-only, instrumentul se încheie cu codul 0 când totul este în regulă și 1 când este găsită vreo problemă, așa că se potrivește perfect în pipeline-urile CI.

Lista completă de opțiuni:

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 face Code Checker

  • verifică sintaxa șabloanelor Latte și a fișierelor .php, .neon și .json
  • elimină BOM
  • verifică dacă fișierele sunt UTF-8 valide
  • verifică prezența caracterelor de control
  • detectează comentariile phpDoc malformate (de ex. /* @var în loc de /** @var)
  • impune indentarea cu tabulatori în fișierele PHP, CSS, JS și TS și cu spații în YAML
  • elimină spațiile de la sfârșit și liniile goale de la finalul fișierelor
  • normalizează sfârșiturile de linie la cel implicit al sistemului (cu parametrul -l)