Nette Documentation Preview

syntax
Nette Coding Standard
*********************

.[perex]
[Coding Standard |https://github.com/nette/coding-standard] formatta automaticamente il vostro codice PHP secondo lo [standard di codifica di Nette |contributing:coding-standard], dall'indentazione e dalle parentesi fino alla spaziatura e all'ordine degli import.

Sotto il cofano combina due strumenti standard del settore, PHP CS Fixer e PHP CodeSniffer, che arrivano già configurati, così non dovete impostare nulla da soli.


Installazione
=============

Installate lo strumento globalmente con Composer:

```shell
composer global require nette/coding-standard
```

e assicuratevi che la directory globale dei binari vendor sia [nella vostra variabile d'ambiente `$PATH`|https://getcomposer.org/doc/03-cli.md#global].


Uso
===

Lo strumento offre due comandi. Il comando `check` si limita a segnalare le violazioni, mentre `fix` le ripara automaticamente:

```shell
ecs check
ecs fix
```

Senza argomenti esamina le directory `src/` e `tests/`; potete anche indicare uno o più percorsi vostri, per esempio `ecs check app bin`.

Prima di lanciare il fixer per la prima volta, fate senz'altro un backup dei vostri file.


Versione di PHP
===============

Lo strumento supporta PHP dalla 8.0 alla 8.5 e applica le regole in modo incrementale secondo la versione. La rileva automaticamente dal `composer.json` del vostro progetto, ma la potete anche impostare esplicitamente con l'opzione `--preset`:

```shell
ecs check --preset php81
```


Regole personalizzate
=====================

Potete adattare le regole al vostro progetto. Per cambiare le regole di PHP CS Fixer create nella radice del progetto un file `ncs.php`:

```php
<?php
return [
	'strict_comparison' => false,
];
```

Per cambiare le regole di PHP CodeSniffer create un file `ncs.xml`. Non deve fare riferimento al preset della versione (viene combinato automaticamente con esso) e potete usare `$presets/` per includere uno qualsiasi dei preset in dotazione:

```xml
<?xml version="1.0"?>
<ruleset name="MyProject">
	<!-- attiva gli import use function/const -->
	<rule ref="$presets/optimize-fn.xml"/>

	<!-- disattiva una regola -->
	<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint"/>
</ruleset>
```

Entrambi i file vengono trovati automaticamente e le vostre regole hanno la precedenza sul preset. Per una modifica una tantum che non volete committare, passate un file aggiuntivo con `--config-file` (`.php` per il fixer, `.xml` per il sniffer).


Integrazione continua
=====================

In una pipeline di CI installate lo strumento come progetto ed eseguitelo da lì:

```yaml
- run: composer create-project nette/coding-standard temp/coding-standard
- run: php temp/coding-standard/ecs check
```

Nette Coding Standard

Coding Standard formatta automaticamente il vostro codice PHP secondo lo standard di codifica di Nette, dall'indentazione e dalle parentesi fino alla spaziatura e all'ordine degli import.

Sotto il cofano combina due strumenti standard del settore, PHP CS Fixer e PHP CodeSniffer, che arrivano già configurati, così non dovete impostare nulla da soli.

Installazione

Installate lo strumento globalmente con Composer:

composer global require nette/coding-standard

e assicuratevi che la directory globale dei binari vendor sia nella vostra variabile d'ambiente $PATH.

Uso

Lo strumento offre due comandi. Il comando check si limita a segnalare le violazioni, mentre fix le ripara automaticamente:

ecs check
ecs fix

Senza argomenti esamina le directory src/ e tests/; potete anche indicare uno o più percorsi vostri, per esempio ecs check app bin.

Prima di lanciare il fixer per la prima volta, fate senz'altro un backup dei vostri file.

Versione di PHP

Lo strumento supporta PHP dalla 8.0 alla 8.5 e applica le regole in modo incrementale secondo la versione. La rileva automaticamente dal composer.json del vostro progetto, ma la potete anche impostare esplicitamente con l'opzione --preset:

ecs check --preset php81

Regole personalizzate

Potete adattare le regole al vostro progetto. Per cambiare le regole di PHP CS Fixer create nella radice del progetto un file ncs.php:

<?php
return [
	'strict_comparison' => false,
];

Per cambiare le regole di PHP CodeSniffer create un file ncs.xml. Non deve fare riferimento al preset della versione (viene combinato automaticamente con esso) e potete usare $presets/ per includere uno qualsiasi dei preset in dotazione:

<?xml version="1.0"?>
<ruleset name="MyProject">
	<!-- attiva gli import use function/const -->
	<rule ref="$presets/optimize-fn.xml"/>

	<!-- disattiva una regola -->
	<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint"/>
</ruleset>

Entrambi i file vengono trovati automaticamente e le vostre regole hanno la precedenza sul preset. Per una modifica una tantum che non volete committare, passate un file aggiuntivo con --config-file (.php per il fixer, .xml per il sniffer).

Integrazione continua

In una pipeline di CI installate lo strumento come progetto ed eseguitelo da lì:

- run: composer create-project nette/coding-standard temp/coding-standard
- run: php temp/coding-standard/ecs check