Nette Documentation Preview

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

.[perex]
[Code Checker |https://github.com/nette/code-checker] zkontroluje vaše zdrojové soubory a najde v nich formální nedostatky, jako je neviditelný BOM, kontrolní znaky, chybné kódování nebo neplatná syntaxe souborů PHP, Latte, NEON a JSON, a umí je automaticky opravit.


Instalace
=========

Nainstalujte jej globálně pomocí Composeru:

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

Ujistěte se, že váš globální Composer adresář `bin` je v [proměnné `$PATH` |https://getcomposer.org/doc/03-cli.md#global]. Příkaz `code-checker` je pak dostupný odkudkoliv, na libovolném operačním systému.

Případně jej nainstalujte jako samostatný projekt:

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

Vyžaduje PHP 8.2 nebo vyšší.


Použití
=======

Ve výchozím stavu běží Code Checker v read-only režimu a jen vypíše nalezené problémy:

```shell
code-checker
```

Pro skutečnou opravu souborů přidejte `--fix`. Nejdřív si soubory zazálohujte, nebo nástroj spusťte nad čistým pracovním stromem, ať si změny můžete potom zkontrolovat přes `git diff`:

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

Sken můžete omezit na konkrétní cesty (pro každou z nich zopakujte `-d`), vynechat soubory nebo spustit rychlejší kontrolu jen syntaxe:

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

V read-only režimu skončí nástroj s kódem `0`, když je vše v pořádku, a `1`, když najde jakoukoli chybu nebo opravitelný nedostatek, takže se hodí do CI.

Kompletní seznam voleb:

```
Usage: php code-checker [options]

Options:
  -d <path>...            Folder or file to scan (default: current directory)
  -i, --ignore <mask>...  Files to ignore
  -f, --fix               Fixes files
  -l, --eol               Convert newline characters
  --only-syntax           Check only syntax
  --no-progress           Do not show progress dots
  --version               Show version
  -h, --help              Print this help
```


Co Code Checker dělá
====================

- kontroluje syntaxi [Latte |latte:] šablon a souborů `.php`, `.neon` a `.json`
- odstraňuje [BOM |nette:glossary#BOM]
- ověřuje, že soubory jsou platné UTF-8
- kontroluje výskyt [kontrolních znaků |nette:glossary#Kontrolní znaky]
- převádí odsazení mezerami na tabulátory v souborech CSS, LESS, JS, TS a JSON a šířku odsazení si zjistí sám (soubor s nekonzistentním odsazením jen nahlásí a nechá beze změny)
- kontroluje, že soubory YAML jsou odsazené mezerami
- odstraňuje koncové mezery a prázdné řádky na konci souborů
- normalizuje oddělovače řádků na systémové (s volbou `-l`)


Styl PHP kódu
=============

Na styl PHP kódu Code Checker nesahá, to je práce pro [DressCode |coding-standard]. Ten kontroluje a opravuje PHP kód podle standardu, který si zvolíte (PER Coding Style, PSR-12, Nette, Symfony nebo Laravel), mění přitom jen to, co opravuje, a umí kód rovnou převést na novější verzi PHP i na nové verze knihoven. Převzal také PHP kontroly, které dělaly starší verze Code Checkeru: chybně zapsané phpDoc komentáře, chybějící `declare(strict_types=1)` a odsazení mezerami v souborech PHP.

{{maintitle: Nette Code Checker: kontrola BOM, kódování a syntaxe}}
{{description: Zkontrolujte ve zdrojových souborech neviditelný BOM, kontrolní znaky, chybné kódování i syntaxi PHP, Latte, NEON a JSON a nechte je automaticky opravit.}}

Nette Code Checker

Code Checker zkontroluje vaše zdrojové soubory a najde v nich formální nedostatky, jako je neviditelný BOM, kontrolní znaky, chybné kódování nebo neplatná syntaxe souborů PHP, Latte, NEON a JSON, a umí je automaticky opravit.

Instalace

Nainstalujte jej globálně pomocí Composeru:

composer global require nette/code-checker

Ujistěte se, že váš globální Composer adresář bin je v proměnné $PATH. Příkaz code-checker je pak dostupný odkudkoliv, na libovolném operačním systému.

Případně jej nainstalujte jako samostatný projekt:

composer create-project nette/code-checker

Vyžaduje PHP 8.2 nebo vyšší.

Použití

Ve výchozím stavu běží Code Checker v read-only režimu a jen vypíše nalezené problémy:

code-checker

Pro skutečnou opravu souborů přidejte --fix. Nejdřív si soubory zazálohujte, nebo nástroj spusťte nad čistým pracovním stromem, ať si změny můžete potom zkontrolovat přes git diff:

code-checker --fix

Sken můžete omezit na konkrétní cesty (pro každou z nich zopakujte -d), vynechat soubory nebo spustit rychlejší kontrolu jen syntaxe:

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

V read-only režimu skončí nástroj s kódem 0, když je vše v pořádku, a 1, když najde jakoukoli chybu nebo opravitelný nedostatek, takže se hodí do CI.

Kompletní seznam voleb:

Usage: php code-checker [options]

Options:
  -d <path>...            Folder or file to scan (default: current directory)
  -i, --ignore <mask>...  Files to ignore
  -f, --fix               Fixes files
  -l, --eol               Convert newline characters
  --only-syntax           Check only syntax
  --no-progress           Do not show progress dots
  --version               Show version
  -h, --help              Print this help

Co Code Checker dělá

Styl PHP kódu

Na styl PHP kódu Code Checker nesahá, to je práce pro DressCode. Ten kontroluje a opravuje PHP kód podle standardu, který si zvolíte (PER Coding Style, PSR-12, Nette, Symfony nebo Laravel), mění přitom jen to, co opravuje, a umí kód rovnou převést na novější verzi PHP i na nové verze knihoven. Převzal také PHP kontroly, které dělaly starší verze Code Checkeru: chybně zapsané phpDoc komentáře, chybějící declare(strict_types=1) a odsazení mezerami v souborech PHP.