Nette Documentation Preview

syntax
Nette Code Checker
******************

.[perex]
[Code Checker |https://github.com/nette/code-checker]は、ソースファイルに、目に見えない BOM、制御文字、壊れた文字コード、PHP・Latte・NEON・JSON のファイルの誤った構文といった形式上の欠陥がないかを調べ、自動的に直せます。


インストール
======

Composer で全体に入れます。

```shell
composer global require nette/code-checker
```

Composer の全体の `bin` のディレクトリが [`$PATH` に入っている |https://getcomposer.org/doc/03-cli.md#global]ことを確かめてください。そうすれば `code-checker` のコマンドが、どのオペレーティングシステムでもどこからでも使えます。

あるいは単独のプロジェクトとして入れられます。

```shell
composer create-project nette/code-checker
```

PHP 8.0 以上が要ります。


使い方
===

既定では、Code Checker は読み取り専用のモードで動き、見つけた問題を知らせるだけです。

```shell
code-checker
```

実際にファイルを直すには `--fix` を足します。先にファイルの控えを取るか、あとで `git diff` で変更を見直せるように、きれいな作業ツリーで走らせてください。

```shell
code-checker --fix
```

調べる範囲を特定のパスに絞ったり、ファイルを飛ばしたり、構文だけの速い確認を走らせたりできます。

```shell
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
```

読み取り専用のモードでは、すべて問題なければ終了コード `0` で、エラーや直せる問題を見つけると `1` で終わるので、CI の流れにきれいに収まります。

オプションの一覧です。

```
Usage: code-checker [options]

Options:
	-d <path>             Folder or file to scan (default: current directory)
	-i | --ignore <mask>  Files to ignore
	-f | --fix            Fix the files
	-l | --eol            Normalize line endings to the system default
	--only-syntax         Check syntax only (faster)
	--no-progress         Do not show progress dots
	--version             Show version
```


Code Checker がすること
==================

- [Latte |latte:]のテンプレートと `.php`、`.neon`、`.json` のファイルの構文を調べます
- [BOM |nette:glossary#BOM]を取り除きます
- ファイルが正しい UTF-8 かを確かめます
- [制御文字 |nette:glossary#制御文字]がないかを調べます
- 形の崩れた phpDoc のコメント(たとえば `/** @var` の代わりの `/* @var`)を見つけます
- `declare(strict_types=1)` の宣言がない PHP のファイルを知らせます
- PHP、CSS、JS、TS のファイルでは字下げにタブを、YAML では空白を求めます
- 行末の空白とファイルの終わりの空行を取り除きます
- 改行をシステムの既定にそろえます(`-l` のパラメータ付きで)

Nette Code Checker

Code Checkerは、ソースファイルに、目に見えない BOM、制御文字、壊れた文字コード、PHP・Latte・NEON・JSON のファイルの誤った構文といった形式上の欠陥がないかを調べ、自動的に直せます。

インストール

Composer で全体に入れます。

composer global require nette/code-checker

Composer の全体の bin のディレクトリが $PATH に入っていることを確かめてください。そうすれば code-checker のコマンドが、どのオペレーティングシステムでもどこからでも使えます。

あるいは単独のプロジェクトとして入れられます。

composer create-project nette/code-checker

PHP 8.0 以上が要ります。

使い方

既定では、Code Checker は読み取り専用のモードで動き、見つけた問題を知らせるだけです。

code-checker

実際にファイルを直すには --fix を足します。先にファイルの控えを取るか、あとで git diff で変更を見直せるように、きれいな作業ツリーで走らせてください。

code-checker --fix

調べる範囲を特定のパスに絞ったり、ファイルを飛ばしたり、構文だけの速い確認を走らせたりできます。

code-checker -d src --ignore "temp/*"
code-checker --only-syntax

読み取り専用のモードでは、すべて問題なければ終了コード 0 で、エラーや直せる問題を見つけると 1 で終わるので、CI の流れにきれいに収まります。

オプションの一覧です。

Usage: code-checker [options]

Options:
	-d <path>             Folder or file to scan (default: current directory)
	-i | --ignore <mask>  Files to ignore
	-f | --fix            Fix the files
	-l | --eol            Normalize line endings to the system default
	--only-syntax         Check syntax only (faster)
	--no-progress         Do not show progress dots
	--version             Show version

Code Checker がすること

  • Latteのテンプレートと .php.neon.json のファイルの構文を調べます
  • BOMを取り除きます
  • ファイルが正しい UTF-8 かを確かめます
  • 制御文字がないかを調べます
  • 形の崩れた phpDoc のコメント(たとえば /** @var の代わりの /* @var)を見つけます
  • declare(strict_types=1) の宣言がない PHP のファイルを知らせます
  • PHP、CSS、JS、TS のファイルでは字下げにタブを、YAML では空白を求めます
  • 行末の空白とファイルの終わりの空行を取り除きます
  • 改行をシステムの既定にそろえます(-l のパラメータ付きで)