Nette Documentation Preview

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

.[perex]
[X-Ray |https://github.com/nette/xray] pokazuje Ci dokładnie, jak Twój projekt używa ekosystemu Nette: których metod, filtrów Latte i kluczy konfiguracyjnych faktycznie używasz.

Zastanawiałeś się kiedyś, które metody Nette wywołujesz najczęściej? Których filtrów Latte faktycznie używasz? Czy ktoś jeszcze rusza ten stary klucz konfiguracyjny? X-Ray skanuje Twój kod analizą statyczną i odpowiada na to przejrzystym raportem HTML.


Co jest analizowane
===================

Zamiast regexów albo zgadywania X-Ray używa analizy statycznej: rozwiązuje typy przez dziedziczenie, wykrywa klasy deklarujące i śledzi wzorce argumentów. Wynikiem jest dokładny obraz tego, jak Twój projekt współpracuje z Nette.

| PHP i PHPT | Szablony Latte | Konfiguracja NEON |
|--------------|-----------------|--------------------|
| wywołania metod i funkcji | tagi i n:atrybuty | wzorce usług DI |
| argumenty (pozycyjne, nazwane) | filtry i ich argumenty | rejestracja rozszerzeń |
| użycie wartości zwracanych | funkcje i stałe | użycie sekcji |
| dostęp do właściwości | warianty składni | klucze konfiguracyjne |
| dziedziczenie klas i traity | | |
| nadpisania metod | | |


Instalacja
==========

Zainstaluj go przez Composera jako zależność deweloperską:

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

Wymaga PHP 8.2 albo wyższego i działa na PHPStan 2.1. Współpracuje z dowolnym projektem używającym Nette, Latte, Tracy, Dibi albo Texy.


Użycie
======

Wskaż mu swoje katalogi źródłowe:

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

W kilka chwil dostaniesz interaktywny raport HTML (`xray-report.html`), który możesz otworzyć w przeglądarce, plus dane czytelne maszynowo (`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
```


Konfiguracja
============

Utwórz w katalogu głównym projektu plik `nette-xray.neon`, żeby dostosować zachowanie:

```neon
# Domyślne ścieżki analizy (używane, gdy nie podano argumentów CLI)
paths:
	- app
	- src

# Dodatkowe katalogi do wykluczenia (vendor, temp, node_modules, .git są wykluczone domyślnie)
excludeDirs:
	- generated

# Automatyczne wysyłanie bez pytania
upload: false
```

/--comment


Pomóż ulepszać Nette
====================

Po analizie możesz opcjonalnie wysłać raport, żeby pomóc wyznaczać kierunek rozwoju frameworku – rzeczywiste dane o użyciu są znacznie bardziej wiarygodne niż ankiety. Wysyłane są tylko zagregowane liczby: ile razy wywoływane jest każde API i których wzorców używasz. Żadnego kodu, żadnych ścieżek plików, żadnych wartości zmiennych. Dane wysyłane są tylko wtedy, gdy jawnie to potwierdzisz, a raport JSON jest zawsze najpierw zapisywany lokalnie, żebyś mógł przejrzeć go w spokoju.
\--

Nette X-Ray

X-Ray pokazuje Ci dokładnie, jak Twój projekt używa ekosystemu Nette: których metod, filtrów Latte i kluczy konfiguracyjnych faktycznie używasz.

Zastanawiałeś się kiedyś, które metody Nette wywołujesz najczęściej? Których filtrów Latte faktycznie używasz? Czy ktoś jeszcze rusza ten stary klucz konfiguracyjny? X-Ray skanuje Twój kod analizą statyczną i odpowiada na to przejrzystym raportem HTML.

Co jest analizowane

Zamiast regexów albo zgadywania X-Ray używa analizy statycznej: rozwiązuje typy przez dziedziczenie, wykrywa klasy deklarujące i śledzi wzorce argumentów. Wynikiem jest dokładny obraz tego, jak Twój projekt współpracuje z Nette.

PHP i PHPT Szablony Latte Konfiguracja NEON
wywołania metod i funkcji tagi i n:atrybuty wzorce usług DI
argumenty (pozycyjne, nazwane) filtry i ich argumenty rejestracja rozszerzeń
użycie wartości zwracanych funkcje i stałe użycie sekcji
dostęp do właściwości warianty składni klucze konfiguracyjne
dziedziczenie klas i traity    
nadpisania metod    

Instalacja

Zainstaluj go przez Composera jako zależność deweloperską:

composer require --dev nette/xray

Wymaga PHP 8.2 albo wyższego i działa na PHPStan 2.1. Współpracuje z dowolnym projektem używającym Nette, Latte, Tracy, Dibi albo Texy.

Użycie

Wskaż mu swoje katalogi źródłowe:

vendor/bin/xray app/ src/

W kilka chwil dostaniesz interaktywny raport HTML (xray-report.html), który możesz otworzyć w przeglądarce, plus dane czytelne maszynowo (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

Konfiguracja

Utwórz w katalogu głównym projektu plik nette-xray.neon, żeby dostosować zachowanie:

# Domyślne ścieżki analizy (używane, gdy nie podano argumentów CLI)
paths:
	- app
	- src

# Dodatkowe katalogi do wykluczenia (vendor, temp, node_modules, .git są wykluczone domyślnie)
excludeDirs:
	- generated

# Automatyczne wysyłanie bez pytania
upload: false