PSR-1: Temel PHP Kodlama Standardı

PSR-1: Temel PHP Kodlama StandardıBahadır BirsözBlockedUnblockFollowFollowingApr 90.

Giriş0.

0.

Çeviri HakkındaBu çeviri, PSR-1 standardı için Türkçe kaynak oluşturmak adına hazırlanmıştır.

0.

1.

Terimlerin Türkçe-İngilizce KarşılıklarıSabit : ConstantNitelik : PropertyYöntem : Method0.

2.

Yazım TipleriPascalCase : Her kelimenin ilk harfi büyük, diğer harfleri küçük, ayraç yok.

camelCase : İlk kelimenin her harfi küçük, takip eden kelimelerin ilk harfleri büyük, diğer harfleri küçük, ayraç yok.

snake_score : Tüm harfler küçük, ayraç alt çizi.

CAPS_SNAKE_CASE : Tüm harfler büyük, ayraç alt çizi.

1.

Genel BakışDosyalar sadece <?php ve<?= etiketlerini kullanmalıdır.

Dosya karakter kodlaması olarak sadece BOM’suz UTF-8 kullanılmalıdır.

Dosyalar ya sadece sembol (sınıf, fonksiyon, sabit vs.

) tanımlamalıdır ya da sadece yan etki (çıktı üretmek, .

ini ayarlarını düzenlemek vs.

) oluşturmalıdır.

Aynı anda iki görevi de üstlenmemelidir.

Namespace’ler ve sınıflar PSR-4'teki “autoload” standartlarına uymalıdır.

Sınıflar PascalCase adlandırılmalıdır.

Sınıf sabitleri CAPS_SNAKE_CASE adlandırılmalıdır.

Yöntemler, camelCase adlandırılmalıdır.

2.

Dosyalar2.

1.

PHP EtiketleriPhp kodları içerisinde sadece uzun PHP etiketi <?php ?> ya da kısa echo PHP etiketini <?= ?> kullanmalıdır.

Diğer PHP etiketleri kullanılmamalıdır.

2.

2.

Karakter KodlamasıDosya karakter kodlaması olarak sadece BOM’suz UTF-8 kullanılmalıdır.

2.

3.

Yan EtkilerBir dosya ya sadece sembol (sınıf, fonksiyon, sabit vs.

) tanımlamalıdır ya da sadece “yan etki” (çıktı üretmek, .

ini ayarlarını düzenlemek vs.

) oluşturmalıdır.

Aynı anda iki görevi de üstlenmemelidir.

“Yan etki”; sınıf tanımı, fonksiyon tanımı gibi tanımlamalar olmayan; mantıksal ifadelerin çalıştırılmasını ifade etmektedir.

“Yan etkiler”; çıktı üretimi, autoload harici require ya da include kullanımı, dış servislere bağlanma, ini ayarlarını düzenleme, hata veya istisna (exception) oluşturma, global ya da statik değişkenleri düzenleme, dosya okuma ve/veya yazma ve benzeri işlemleri kapsar.

Aşağıdaki örnek, hem sembol tanımlama, hem de yan etki üretme işini içerir.

Kaçınılması gereken kullanım aşağıdaki gibidir.

Aşağıdaki örnek, mantıksal ifade çalıştırmamaktadır, sadece sembol tanımlaması içermektedir.

3.

Namespace’ler ve Sınıf İsimleriNamespace’ler ve sınıflar PSR-4'teki “autoload” standartlarına uymalıdır.

Buna göre her sınıf, ayrı birer dosyada tanımlanmalıdır ve en azından bir seviye namespace’i olmalıdır (En üst seviye namespace olarak üretici).

Sınıflar PascalCase adlandırılmalıdır.

PHP 5.

3 ve sonrası için yazılmış kodlar, namespace anahtarı ile namespace tanımlaması içermelidir.

Örneğin :PHP 5.

2 ve öncesi için yazılmış kodlar sahte (pseudo) namespace kullanmalıdır.

Örneğin :4.

Sabitler, Nitelikler ve YöntemlerSınıf ifadesi class, interface ve trait’leri kapsamaktadır.

4.

1.

SabitlerSınıf sabitleri CAPS_SNAKE_CASE adlandırılmalıdır.

Örneğin :4.

2.

NiteliklerBu standart (PSR-1), niteliklerin yazımında hangi yazım tipi kullanılması gerektiği konusunda beyanda bulunmaktan bilhassa kaçınmaktadır.

Hangi yazım tipi kullanılıyor olursa olsun, adlandırma standardı, kapsamı dahilinde tutarlı olmalıdır.

Bu kapsam; dağıtıcı seviyesinde, paket seviyesinde, sınıf ya da yöntem seviyesinde olabilir.

4.

3.

YöntemlerYöntemler, camelCase adlandırılmalıdır.

.

. More details

Leave a Reply