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
# 既定の解析のパス(CLI の引数がないときに使われます)
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 のファイルを作ります。

# 既定の解析のパス(CLI の引数がないときに使われます)
paths:
	- app
	- src

# 除くディレクトリの追加(vendor、temp、node_modules、.git は既定で除かれます)
excludeDirs:
	- generated

# 尋ねずに自動で送信します
upload: false