Nette Documentation Preview

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

.[perex]
[Coding Standard |https://github.com/nette/coding-standard] PHP kodunuzu [Nette kodlama standardına |contributing:coding-standard] göre otomatik biçimlendirir; girintiden ve parantezlerden boşluklara ve import sıralamasına dek.

Kaputun altında, önceden yapılandırılmış olarak gelen iki endüstri standardı aracı, PHP CS Fixer ile PHP CodeSniffer'ı birleştirir; böylece hiçbir şeyi kendiniz ayarlamak zorunda kalmazsınız.


Kurulum
=======

Aracı Composer kullanarak küresel olarak kurun:

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

ve küresel vendor binary dizininizin [`$PATH` ortam değişkeninizde|https://getcomposer.org/doc/03-cli.md#global] olduğundan emin olun.


Kullanım
========

Araç iki komut sunar. `check` komutu yalnızca ihlalleri bildirir, `fix` ise onları otomatik onarır:

```shell
ecs check
ecs fix
```

Hiçbir argüman olmadan `src/` ve `tests/` dizinlerini tarar; kendi yollarınızdan bir ya da birkaçını da aktarabilirsiniz, örneğin `ecs check app bin`.

Düzelticiyi ilk kez çalıştırmadan önce dosyalarınızı yedeklediğinizden emin olun.


PHP Sürümü
==========

Araç PHP 8.0'dan 8.5'e dek destekler ve kuralları sürüme göre aşamalı uygular. Sürümü projenizin `composer.json` dosyasından otomatik algılar, ama `--preset` seçeneğiyle onu açıkça da ayarlayabilirsiniz:

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


Özel Kurallar
=============

Kuralları projeniz için ince ayar yapabilirsiniz. PHP CS Fixer kurallarını değiştirmek için proje kökünde bir `ncs.php` dosyası oluşturun:

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

PHP CodeSniffer kurallarını değiştirmek için bir `ncs.xml` dosyası oluşturun. Sürüm hazır ayarına başvurması gerekmez (onunla otomatik birleştirilir) ve pakete gömülü herhangi bir hazır ayarı çekmek için `$presets/` kullanabilirsiniz:

```xml
<?xml version="1.0"?>
<ruleset name="MyProject">
	<!-- use function/const importlarını etkinleştir -->
	<rule ref="$presets/optimize-fn.xml"/>

	<!-- bir kuralı kapat -->
	<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint"/>
</ruleset>
```

İki dosya da otomatik bulunur ve sizin kurallarınız hazır ayarın önüne geçer. Commit etmek istemediğiniz tek seferlik bir geçersiz kılma için `--config-file` ile fazladan bir dosya aktarın (düzeltici için `.php`, sniffer için `.xml`).


Sürekli Entegrasyon
===================

Bir CI hattında aracı bir proje olarak kurun ve oradan çalıştırın:

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

Nette Coding Standard

Coding Standard PHP kodunuzu Nette kodlama standardına göre otomatik biçimlendirir; girintiden ve parantezlerden boşluklara ve import sıralamasına dek.

Kaputun altında, önceden yapılandırılmış olarak gelen iki endüstri standardı aracı, PHP CS Fixer ile PHP CodeSniffer'ı birleştirir; böylece hiçbir şeyi kendiniz ayarlamak zorunda kalmazsınız.

Kurulum

Aracı Composer kullanarak küresel olarak kurun:

composer global require nette/coding-standard

ve küresel vendor binary dizininizin $PATH ortam değişkeninizde olduğundan emin olun.

Kullanım

Araç iki komut sunar. check komutu yalnızca ihlalleri bildirir, fix ise onları otomatik onarır:

ecs check
ecs fix

Hiçbir argüman olmadan src/ ve tests/ dizinlerini tarar; kendi yollarınızdan bir ya da birkaçını da aktarabilirsiniz, örneğin ecs check app bin.

Düzelticiyi ilk kez çalıştırmadan önce dosyalarınızı yedeklediğinizden emin olun.

PHP Sürümü

Araç PHP 8.0'dan 8.5'e dek destekler ve kuralları sürüme göre aşamalı uygular. Sürümü projenizin composer.json dosyasından otomatik algılar, ama --preset seçeneğiyle onu açıkça da ayarlayabilirsiniz:

ecs check --preset php81

Özel Kurallar

Kuralları projeniz için ince ayar yapabilirsiniz. PHP CS Fixer kurallarını değiştirmek için proje kökünde bir ncs.php dosyası oluşturun:

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

PHP CodeSniffer kurallarını değiştirmek için bir ncs.xml dosyası oluşturun. Sürüm hazır ayarına başvurması gerekmez (onunla otomatik birleştirilir) ve pakete gömülü herhangi bir hazır ayarı çekmek için $presets/ kullanabilirsiniz:

<?xml version="1.0"?>
<ruleset name="MyProject">
	<!-- use function/const importlarını etkinleştir -->
	<rule ref="$presets/optimize-fn.xml"/>

	<!-- bir kuralı kapat -->
	<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint"/>
</ruleset>

İki dosya da otomatik bulunur ve sizin kurallarınız hazır ayarın önüne geçer. Commit etmek istemediğiniz tek seferlik bir geçersiz kılma için --config-file ile fazladan bir dosya aktarın (düzeltici için .php, sniffer için .xml).

Sürekli Entegrasyon

Bir CI hattında aracı bir proje olarak kurun ve oradan çalıştırın:

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