Nette Documentation Preview

syntax
Nette X-Ray
***********

.[perex]
[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.

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:

```shell
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:

```shell
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:

```neon
# 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
```

/--comment
Pomozte vývoji Nette
====================

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.
\--

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