Nette X-Ray
***********
.[perex]
[X-Ray |https://github.com/nette/xray] le muestra exactamente cómo usa su proyecto el ecosistema de Nette: qué métodos, filtros de Latte y claves de configuración utiliza realmente.
¿Se ha preguntado alguna vez qué métodos de Nette llama más? ¿Qué filtros de Latte usa de verdad? ¿Si alguien toca todavía aquella clave de configuración antigua? X-Ray analiza su código con análisis estático y le responde con un informe HTML claro.
Qué se analiza
==============
En lugar de expresiones regulares o conjeturas, X-Ray usa análisis estático: resuelve los tipos a través de la herencia, detecta las clases declarantes y sigue los patrones de argumentos. El resultado es una imagen precisa de cómo interactúa su proyecto con Nette.
| PHP y PHPT | Plantillas de Latte | Configuración NEON |
|--------------|-----------------|--------------------|
| llamadas a métodos y funciones | etiquetas y n:atributos | patrones de servicios DI |
| argumentos (posicionales, con nombre) | filtros y sus argumentos | registro de extensiones |
| uso del valor de retorno | funciones y constantes | uso de secciones |
| acceso a propiedades | variantes de sintaxis | claves de configuración |
| herencia de clases y traits | | |
| sobrescritura de métodos | | |
Instalación
===========
Instálelo con Composer como dependencia de desarrollo:
```shell
composer require --dev nette/xray
```
Requiere PHP 8.2 o superior y funciona sobre PHPStan 2.1. Funciona con cualquier proyecto que use Nette, Latte, Tracy, Dibi o Texy.
Uso
===
Apúntelo a sus directorios de código fuente:
```shell
vendor/bin/xray app/ src/
```
En unos instantes obtiene un informe HTML interactivo (`xray-report.html`) que puede abrir en el navegador, además de datos legibles por máquina (`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
```
Configuración
=============
Cree un archivo `nette-xray.neon` en la raíz de su proyecto para personalizar el comportamiento:
```neon
# Rutas de análisis predeterminadas (se usan cuando no se dan argumentos en la línea de comandos)
paths:
- app
- src
# Directorios adicionales que excluir (vendor, temp, node_modules y .git se excluyen de forma predeterminada)
excludeDirs:
- generated
# Enviar automáticamente sin preguntar
upload: false
```
/--comment
Help Improve Nette
==================
After the analysis, you can optionally send the report to help guide the framework's development – real usage data is far more reliable than surveys. Only aggregated numbers are sent: how many times each API is called and which patterns you use. No code, no file paths, no variable values. Data is sent only if you explicitly confirm, and the JSON report is always saved locally first, so you can review it at your leisure.
\--
Nette X-Ray
X-Ray le muestra exactamente cómo usa su proyecto el ecosistema de
Nette: qué métodos, filtros de Latte y claves de configuración utiliza realmente.
¿Se ha preguntado alguna vez qué métodos de Nette llama más? ¿Qué filtros de Latte usa de verdad? ¿Si alguien toca
todavía aquella clave de configuración antigua? X-Ray analiza su código con análisis estático y le responde con un informe
HTML claro.
Qué se analiza
En lugar de expresiones regulares o conjeturas, X-Ray usa análisis estático: resuelve los tipos a través de la herencia,
detecta las clases declarantes y sigue los patrones de argumentos. El resultado es una imagen precisa de cómo interactúa su
proyecto con Nette.
| PHP y PHPT |
Plantillas de Latte |
Configuración NEON |
| llamadas a métodos y funciones |
etiquetas y n:atributos |
patrones de servicios DI |
| argumentos (posicionales, con nombre) |
filtros y sus argumentos |
registro de extensiones |
| uso del valor de retorno |
funciones y constantes |
uso de secciones |
| acceso a propiedades |
variantes de sintaxis |
claves de configuración |
| herencia de clases y traits |
|
|
| sobrescritura de métodos |
|
|
Instalación
Instálelo con Composer como dependencia de desarrollo:
composer require --dev nette/xray
Requiere PHP 8.2 o superior y funciona sobre PHPStan 2.1. Funciona con cualquier proyecto que use Nette, Latte, Tracy, Dibi
o Texy.
Uso
Apúntelo a sus directorios de código fuente:
vendor/bin/xray app/ src/
En unos instantes obtiene un informe HTML interactivo (xray-report.html) que puede abrir en el navegador, además
de datos legibles por máquina (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
Configuración
Cree un archivo nette-xray.neon en la raíz de su proyecto para personalizar el comportamiento:
# Rutas de análisis predeterminadas (se usan cuando no se dan argumentos en la línea de comandos)
paths:
- app
- src
# Directorios adicionales que excluir (vendor, temp, node_modules y .git se excluyen de forma predeterminada)
excludeDirs:
- generated
# Enviar automáticamente sin preguntar
upload: false