PHP PSR Standartları Nelerdir?

php psr standarts

PHP, geniş bir kullanıcı tabanına ve çeşitli projelere ev sahipliği yapan güçlü bir programlama dilidir. Ancak, farklı çerçeveler, kütüphaneler ve projeler arasında birlikte çalışabilirlik ve kod tutarlılığı konularında bazı zorluklar ortaya çıkabilir. İşte bu sorunları çözmek ve PHP ekosistemini birleştirmek için PHP Framework Interop Group (PHP-FIG) tarafından geliştirilen PHP PSR Standartları, PSR (PHP Standard Recommendations / PHP Standart Önerileri)  devreye girer.

PSR Nedir?

PSR, PHP-FIG tarafından önerilen standartların kısaltmasıdır. Bu standartlar, PHP uygulamalarının ve kütüphanelerinin birbirleriyle uyumlu bir şekilde çalışmasını sağlamak amacıyla oluşturulmuştur. PSR belgeleri, birçok farklı konuyu kapsayabilir, ancak genellikle kod stilinden otomatik yükleyici standartlarına kadar geniş bir yelpazede standartlar içerir.

PSR'nin Önemi

  1. Birlikte Çalışabilirlik: PSR’lar, farklı PHP çerçeveleri ve kütüphaneleri arasında birlikte çalışabilirliği artırır. Bu, geliştiricilerin farklı projelerde daha sorunsuz bir şekilde geçiş yapmalarına olanak tanır.

  2. Kod Tutarsızlığını Engelleme: PSR’lar, belirli konularda kod tutarlılığını sağlamak için standartlar belirler. Bu, geliştiricilerin daha okunabilir ve bakımı daha kolay kodlar yazmalarını sağlar.

  3. Topluluk Konsensüsü: PSR’lar, PHP topluluğundaki geliştiriciler arasında bir konsensüs oluşturarak, bir standart belirlemenin demokratik bir süreç olduğunu gösterir. Bu, topluluk tarafından kabul gören standartların benimsenmesine ve geniş bir kullanıcı tabanına ulaşmasına yardımcı olur.

PHP PSR standartları, PHP ekosistemini birleştirmek ve geliştiricilere daha tutarlı bir deneyim sunmak için önemli bir araçtır. PSR’lar, birlikte çalışabilirlik, kod tutarlılığı ve topluluk konsensüsü gibi konularda standartlar belirleyerek PHP topluluğunu güçlendirmeye devam etmektedir. Geliştiriciler, PSR belgelerine başvurarak projelerinde daha tutarlı ve birbirine uyumlu kodlar yazabilirler, bu da genel olarak PHP ekosisteminin kalitesini artırır.

PHP PSR Standartları

Numara İsim Açıklama Durum
PSR-0 Autoloading Standard Otomatik yükleyicinin birlikte çalışabilirliği için uyulması gereken zorunlu gereksinimleri açıklar Kaldırılmış ve yerini PSR-4 almıştır
PSR-1 Basic Coding Standard Otomatik yükleyicinin birlikte çalışabilirliği için uyulması gereken zorunlu gereksinimleri açıklar Kullanımda
PSR-2 Coding Style Guide PSR-1’i dikkate alır ve farklı yazarlardan gelen kodları tararken bilişsel sürtünmeyi azaltmayı amaçlar. Bunu, PHP kodunun nasıl biçimlendirileceğine ilişkin paylaşılan bir dizi kural ve beklentiyi sıralayarak yapar Kaldırıldı
PSR-3 Logger Interface Günlük kitaplıkları için ortak bir arayüz açıklar Kullanımda
PSR-4 Autoloading Standard Sınıfların dosya yollarından otomatik olarak yüklenmesine yönelik bir spesifikasyonu açıklar. Tamamen birlikte çalışabilir ve PSR-0 dahil diğer otomatik yükleme spesifikasyonlarına ek olarak kullanılabilir. Bu PSR ayrıca spesifikasyona göre otomatik olarak yüklenecek dosyaların nereye yerleştirileceğini de açıklar Kullanımda
PSR-5 PHPDoc Standard Bu PSR’nin temel amacı PHPDoc standardının eksiksiz ve resmi bir tanımını sağlamaktır. Bu PSR, PHP dilindeki daha yeni özelliklere destek sağlamak ve önceki sürümün bazı eksikliklerini gidermek amacıyla phpDocumentor 1.x ile ilişkili fiili PHPDoc Standardı olan öncekinden farklıdır Taslak
PSR-6 Caching Interface Bu PSR’nin amacı, geliştiricilerin, özel geliştirmeye ihtiyaç duymadan mevcut çerçevelere ve sistemlere entegre edilebilecek, önbellek farkındalığına sahip kitaplıklar oluşturmasına olanak sağlamaktır Kullanımda
PSR-7 HTTP Message Interface RFC 7230 ve RFC 7231’de açıklandığı gibi HTTP mesajlarını temsil etmeye yönelik ortak arayüzleri ve RFC 3986’da açıklandığı gibi HTTP mesajlarıyla kullanıma yönelik URI’leri açıklar Kullanımda
PSR-8 Huggable Interface Nesnelerin karşılıklı takdir ve desteği kucaklaşarak ifade etmeleri için ortak bir yol oluşturur. Bu, nesnelerin yapıcı bir şekilde birbirini desteklemesine olanak tanıyarak farklı PHP projeleri arasındaki işbirliğini ilerletir Kullanılmıyor
PSR-9 Security Disclosure Proje liderlerine, son kullanıcıların, bu açıklamalar için açıkça tanımlanmış yapılandırılmış bir format kullanarak güvenlik açıklamalarını keşfetmesine olanak tanıyan, açıkça tanımlanmış bir yaklaşım sağlar Kullanılmıyor
PSR-10 Security Advisories Araştırmacılara, proje liderlerine, üst proje liderlerine ve son kullanıcılara güvenlik açıklarını açığa çıkarmak için tanımlanmış ve yapılandırılmış bir süreç sunar Kullanılmıyor
PSR-11 Container Interface Bağımlılık enjeksiyon kapsayıcıları için ortak bir arabirimi açıklar. Amaç, çerçevelerin ve kitaplıkların nesneleri ve parametreleri (bu belgenin geri kalanında girişler olarak anılacaktır) elde etmek için bir kapsayıcıdan nasıl yararlandığını standartlaştırmaktır Kullanımda
PSR-12 Extended Coding Style Guide Kodlama stili kılavuzu PSR-2’yi genişletir, genişletir ve onun yerine geçer ve temel kodlama standardı olan PSR-1’e uyulmasını gerektirir Kullanımda
PSR-13 Hypermedia Links Bir hipermedya bağlantısını temsil etmek için ortak arayüzleri açıklar Kullanımda
PSR-14 Event Manager Olayların gönderilmesi ve işlenmesi için ortak arayüzleri açıklar Kullanımda
PSR-15 HTTP Server Request Handlers HTTP mesajlarını kullanan HTTP sunucusu istek işleyicileri ve HTTP sunucusu ara katman yazılımı bileşenleri için ortak arayüzleri açıklar Kullanımda
PSR-16 Simple Cache Bir önbellek öğesi ve bir önbellek sürücüsü için basit ancak genişletilebilir bir arayüzü açıklar Kullanımda
PSR-17 HTTP Factories PSR-7 uyumlu HTTP nesneleri oluşturan faktörler için ortak bir standardı açıklar Kullanımda
PSR-18 HTTP Client HTTP isteklerini göndermek ve HTTP yanıtlarını almak için ortak bir arayüzü açıklar Kullanımda
PSR-19 PHPDoc tags PHPDoc standardında eksiksiz bir etiket kataloğu sağlar Taslak
PSR-20 Clock Zamanlamaya dayalı yan etkileri olan davranışı test ederken, test sırasında birlikte çalışabilirliğe izin vererek saate erişmenin standart bir yolunu sağlar Kullanımda
PSR-21 Internationalization Duyurulacak Taslak
PSR-22 Application Tracing Duyurulacak Taslak

Eğitimin, Eğlencenin ve Haberin Sitesi TEKNOKODİ

İlgili Yazılar