Nette X-Ray
X-Ray vám ukáže, jak přesně váš projekt využívá ekosystém Nette: které metody, Latte filtry i konfigurační klíče doopravdy používáte.
Přemýšleli jste někdy, které Nette metody voláte nejčastěji? Které Latte filtry vlastně používáte? Sahá ještě někdo na ten starý konfigurační klíč? X-Ray prohledá váš kód statickou analýzou a odpoví vám přehledným HTML reportem.
Co se analyzuje
Místo regulárních výrazů a odhadů používá X-Ray statickou analýzu: rozliší typy skrz dědičnost, pozná deklarující třídy a sleduje vzory argumentů. Výsledkem je přesný obrázek o tom, jak váš projekt interaguje s Nette.
| PHP a PHPT | Latte šablony | NEON konfigurace |
|---|---|---|
| volání metod a funkcí | značky a n:atributy | vzory DI služeb |
| argumenty (poziční, pojmenované) | filtry a jejich argumenty | registrace rozšíření |
| použití návratových hodnot | funkce a konstanty | použité sekce |
| přístup k properties | varianty syntaxe | konfigurační klíče |
| dědičnost tříd a traity | ||
| přepisy metod |
Instalace
Nainstalujte ho přes Composer jako vývojovou závislost:
composer require --dev nette/xray
Vyžaduje PHP 8.2 nebo vyšší a běží na PHPStanu 2.1. Funguje s libovolným projektem, který používá Nette, Latte, Tracy, Dibi nebo Texy.
Použití
Spusťte ho nad svými zdrojovými adresáři:
vendor/bin/xray app/ src/
Během chvíle získáte interaktivní HTML report (xray-report.html), který stačí otevřít v prohlížeči,
a strojově čitelná data (xray-report.json):
Nette X-Ray
===========
Scanning PHP files ... 142/142 done
Scanning NEON files ... 4/4 done
Scanning Latte files ... 87/87 done
Reports saved to:
xray-report.json
xray-report.html
Konfigurace
Chování upravíte souborem nette-xray.neon v kořeni projektu:
# Výchozí cesty k analýze (použijí se, když neuvedete argumenty na příkazové řádce)
paths:
- app
- src
# Další adresáře k vyloučení (vendor, temp, node_modules, .git jsou vyloučeny automaticky)
excludeDirs:
- generated
# Automatické odeslání bez ptaní
upload: false