Nette Documentation Preview

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

.[perex]
[X-Ray |https://github.com/nette/xray] показывает вам, как именно ваш проект использует экосистему Nette: какие методы, фильтры Latte и ключи конфигурации вы действительно используете.

Вам когда-нибудь было интересно, какие методы Nette вы вызываете чаще всего? Какие фильтры Latte вы действительно используете? Трогает ли ещё кто-нибудь тот старый ключ конфигурации? X-Ray просматривает ваш код статическим анализом и отвечает на это понятным HTML-отчётом.


Что анализируется
=================

Вместо регулярных выражений или догадок X-Ray использует статический анализ: он разрешает типы через наследование, определяет объявляющие классы и отслеживает образцы аргументов. В результате получается точная картина того, как ваш проект взаимодействует с Nette.

| PHP и PHPT | Шаблоны Latte | Конфигурация NEON |
|--------------|-----------------|--------------------|
| вызовы методов и функций | теги и n:атрибуты | образцы сервисов DI |
| аргументы (позиционные, именованные) | фильтры и их аргументы | регистрация расширений |
| использование возвращаемого значения | функции и константы | использование секций |
| обращение к свойствам | варианты синтаксиса | ключи конфигурации |
| наследование классов и трейты | | |
| переопределения методов | | |


Установка
=========

Установите его через Composer как зависимость для разработки:

```shell
composer require --dev nette/xray
```

Он требует PHP 8.2 или новее и работает на PHPStan 2.1. Он работает с любым проектом, использующим Nette, Latte, Tracy, Dibi или Texy.


Использование
=============

Укажите ему свои каталоги с исходным кодом:

```shell
vendor/bin/xray app/ src/
```

Через мгновение вы получите интерактивный HTML-отчёт (`xray-report.html`), который можно открыть в браузере, а вдобавок машиночитаемые данные (`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
```


Конфигурация
============

Создайте в корне проекта файл `nette-xray.neon`, чтобы настроить поведение:

```neon
# Пути анализа по умолчанию (используются, когда аргументы командной строки не заданы)
paths:
	- app
	- src

# Дополнительные каталоги для исключения (vendor, temp, node_modules, .git исключены по умолчанию)
excludeDirs:
	- generated

# Автоматическая отправка без вопросов
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 показывает вам, как именно ваш проект использует экосистему Nette: какие методы, фильтры Latte и ключи конфигурации вы действительно используете.

Вам когда-нибудь было интересно, какие методы Nette вы вызываете чаще всего? Какие фильтры Latte вы действительно используете? Трогает ли ещё кто-нибудь тот старый ключ конфигурации? X-Ray просматривает ваш код статическим анализом и отвечает на это понятным HTML-отчётом.

Что анализируется

Вместо регулярных выражений или догадок X-Ray использует статический анализ: он разрешает типы через наследование, определяет объявляющие классы и отслеживает образцы аргументов. В результате получается точная картина того, как ваш проект взаимодействует с Nette.

PHP и PHPT Шаблоны Latte Конфигурация NEON
вызовы методов и функций теги и n:атрибуты образцы сервисов DI
аргументы (позиционные, именованные) фильтры и их аргументы регистрация расширений
использование возвращаемого значения функции и константы использование секций
обращение к свойствам варианты синтаксиса ключи конфигурации
наследование классов и трейты    
переопределения методов    

Установка

Установите его через Composer как зависимость для разработки:

composer require --dev nette/xray

Он требует PHP 8.2 или новее и работает на PHPStan 2.1. Он работает с любым проектом, использующим Nette, Latte, Tracy, Dibi или Texy.

Использование

Укажите ему свои каталоги с исходным кодом:

vendor/bin/xray app/ src/

Через мгновение вы получите интерактивный HTML-отчёт (xray-report.html), который можно открыть в браузере, а вдобавок машиночитаемые данные (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

Конфигурация

Создайте в корне проекта файл nette-xray.neon, чтобы настроить поведение:

# Пути анализа по умолчанию (используются, когда аргументы командной строки не заданы)
paths:
	- app
	- src

# Дополнительные каталоги для исключения (vendor, temp, node_modules, .git исключены по умолчанию)
excludeDirs:
	- generated

# Автоматическая отправка без вопросов
upload: false