|
| 1 | +Nette X-Ray |
| 2 | +*********** |
| 3 | + |
| 4 | +.[perex] |
| 5 | +[X-Ray |https://github.com/nette/xray] 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. |
| 6 | + |
| 7 | +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. |
| 8 | + |
| 9 | + |
| 10 | +Co se analyzuje |
| 11 | +=============== |
| 12 | + |
| 13 | +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. |
| 14 | + |
| 15 | +| PHP a PHPT | Latte šablony | NEON konfigurace | |
| 16 | +|------------|---------------|------------------| |
| 17 | +| volání metod a funkcí | značky a n:atributy | vzory DI služeb | |
| 18 | +| argumenty (poziční, pojmenované) | filtry a jejich argumenty | registrace rozšíření | |
| 19 | +| použití návratových hodnot | funkce a konstanty | použité sekce | |
| 20 | +| přístup k properties | varianty syntaxe | konfigurační klíče | |
| 21 | +| dědičnost tříd a traity | | | |
| 22 | +| přepisy metod | | | |
| 23 | + |
| 24 | + |
| 25 | +Instalace |
| 26 | +========= |
| 27 | + |
| 28 | +Nainstalujte ho přes Composer jako vývojovou závislost: |
| 29 | + |
| 30 | +```shell |
| 31 | +composer require --dev nette/xray |
| 32 | +``` |
| 33 | + |
| 34 | +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. |
| 35 | + |
| 36 | + |
| 37 | +Použití |
| 38 | +======= |
| 39 | + |
| 40 | +Spusťte ho nad svými zdrojovými adresáři: |
| 41 | + |
| 42 | +```shell |
| 43 | +vendor/bin/xray app/ src/ |
| 44 | +``` |
| 45 | + |
| 46 | +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`): |
| 47 | + |
| 48 | +``` |
| 49 | + |
| 50 | + |
| 51 | +Nette X-Ray |
| 52 | +=========== |
| 53 | + |
| 54 | +Scanning PHP files ... 142/142 done |
| 55 | +Scanning NEON files ... 4/4 done |
| 56 | +Scanning Latte files ... 87/87 done |
| 57 | + |
| 58 | +Reports saved to: |
| 59 | + xray-report.json |
| 60 | + xray-report.html |
| 61 | +``` |
| 62 | + |
| 63 | + |
| 64 | +Konfigurace |
| 65 | +=========== |
| 66 | + |
| 67 | +Chování upravíte souborem `nette-xray.neon` v kořeni projektu: |
| 68 | + |
| 69 | +```neon |
| 70 | +# Výchozí cesty k analýze (použijí se, když neuvedete argumenty na příkazové řádce) |
| 71 | +paths: |
| 72 | + - app |
| 73 | + - src |
| 74 | + |
| 75 | +# Další adresáře k vyloučení (vendor, temp, node_modules, .git jsou vyloučeny automaticky) |
| 76 | +excludeDirs: |
| 77 | + - generated |
| 78 | + |
| 79 | +# Automatické odeslání bez ptaní |
| 80 | +upload: false |
| 81 | +``` |
| 82 | + |
| 83 | +/--comment |
| 84 | + |
| 85 | + |
| 86 | +Pomozte vývoji Nette |
| 87 | +==================== |
| 88 | + |
| 89 | +Po analýze můžete report dobrovolně odeslat a pomoct tak směřovat vývoj frameworku – reálná data o používání jsou spolehlivější než ankety. Odesílají se jen agregovaná čísla: kolikrát se které API zavolá a jaké vzory používáte. Žádný kód, žádné cesty k souborům, žádné hodnoty proměnných. Data se odešlou jen tehdy, když to výslovně potvrdíte, a JSON report se vždy nejdřív uloží lokálně, takže si ho můžete v klidu prohlédnout. |
| 90 | +\-- |
0 commit comments