Nette X-Ray
***********
.[perex]
[X-Ray |https://github.com/nette/xray] vi mostra esattamente come il vostro progetto usa l'ecosistema Nette: quali metodi, filtri Latte e chiavi di configurazione usate davvero.
Vi siete mai chiesti quali metodi di Nette chiamate più spesso? Quali filtri Latte usate davvero? Se qualcuno tocca ancora quella vecchia chiave di configurazione? X-Ray analizza il vostro codice con l'analisi statica e vi risponde con un chiaro report HTML.
Che cosa viene analizzato
=========================
Invece di regex o supposizioni, X-Ray usa l'analisi statica: risolve i tipi attraverso l'ereditarietà, rileva le classi dichiaranti e traccia gli schemi degli argomenti. Il risultato è un quadro accurato di come il vostro progetto interagisce con Nette.
| PHP e PHPT | Template Latte | Configurazione NEON |
|--------------|-----------------|--------------------|
| chiamate di metodi e funzioni | tag e n:attributi | schemi dei servizi DI |
| argomenti (posizionali, con nome) | filtri e loro argomenti | registrazione delle estensioni |
| uso del valore di ritorno | funzioni e costanti | uso delle sezioni |
| accesso alle proprietà | varianti di sintassi | chiavi di configurazione |
| ereditarietà delle classi e trait | | |
| ridefinizioni dei metodi | | |
Installazione
=============
Installatelo con Composer come dipendenza di sviluppo:
```shell
composer require --dev nette/xray
```
Richiede PHP 8.2 o superiore e gira su PHPStan 2.1. Funziona con qualsiasi progetto che usa Nette, Latte, Tracy, Dibi o Texy.
Uso
===
Puntatelo sulle vostre directory sorgente:
```shell
vendor/bin/xray app/ src/
```
In pochi istanti ottenete un report HTML interattivo (`xray-report.html`) che potete aprire nel browser, oltre a dati leggibili dalle macchine (`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
```
Configurazione
==============
Create nella radice del progetto un file `nette-xray.neon` per personalizzare il comportamento:
```neon
# percorsi di analisi predefiniti (usati quando non si danno argomenti da riga di comando)
paths:
- app
- src
# altre directory da escludere (vendor, temp, node_modules, .git sono escluse per impostazione predefinita)
excludeDirs:
- generated
# invio automatico senza chiedere
upload: false
```
/--comment
Aiutate a migliorare Nette
==========================
Dopo l'analisi potete, se volete, inviare il report per aiutare a orientare lo sviluppo del framework: i dati d'uso reali sono molto più affidabili dei sondaggi. Vengono inviati solo numeri aggregati: quante volte viene chiamata ogni API e quali schemi usate. Nessun codice, nessun percorso di file, nessun valore di variabile. I dati vengono inviati solo se lo confermate esplicitamente e il report JSON viene sempre salvato prima in locale, così potete esaminarlo con calma.
\--
Nette X-Ray
X-Ray vi mostra esattamente come il vostro progetto usa l'ecosistema
Nette: quali metodi, filtri Latte e chiavi di configurazione usate davvero.
Vi siete mai chiesti quali metodi di Nette chiamate più spesso? Quali filtri Latte usate davvero? Se qualcuno tocca ancora
quella vecchia chiave di configurazione? X-Ray analizza il vostro codice con l'analisi statica e vi risponde con un chiaro
report HTML.
Che cosa viene analizzato
Invece di regex o supposizioni, X-Ray usa l'analisi statica: risolve i tipi attraverso l'ereditarietà, rileva le classi
dichiaranti e traccia gli schemi degli argomenti. Il risultato è un quadro accurato di come il vostro progetto interagisce
con Nette.
| PHP e PHPT |
Template Latte |
Configurazione NEON |
| chiamate di metodi e funzioni |
tag e n:attributi |
schemi dei servizi DI |
| argomenti (posizionali, con nome) |
filtri e loro argomenti |
registrazione delle estensioni |
| uso del valore di ritorno |
funzioni e costanti |
uso delle sezioni |
| accesso alle proprietà |
varianti di sintassi |
chiavi di configurazione |
| ereditarietà delle classi e trait |
|
|
| ridefinizioni dei metodi |
|
|
Installazione
Installatelo con Composer come dipendenza di sviluppo:
composer require --dev nette/xray
Richiede PHP 8.2 o superiore e gira su PHPStan 2.1. Funziona con qualsiasi progetto che usa Nette, Latte, Tracy, Dibi
o Texy.
Uso
Puntatelo sulle vostre directory sorgente:
vendor/bin/xray app/ src/
In pochi istanti ottenete un report HTML interattivo (xray-report.html) che potete aprire nel browser, oltre a
dati leggibili dalle macchine (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
Configurazione
Create nella radice del progetto un file nette-xray.neon per personalizzare il comportamento:
# percorsi di analisi predefiniti (usati quando non si danno argomenti da riga di comando)
paths:
- app
- src
# altre directory da escludere (vendor, temp, node_modules, .git sono escluse per impostazione predefinita)
excludeDirs:
- generated
# invio automatico senza chiedere
upload: false