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İsimAçıklamaDurum
PSR-0Autoloading StandardOtomatik yükleyicinin birlikte çalışabilirliği için uyulması gereken zorunlu gereksinimleri açıklarKaldırılmış ve yerini PSR-4 almıştır
PSR-1Basic Coding StandardOtomatik yükleyicinin birlikte çalışabilirliği için uyulması gereken zorunlu gereksinimleri açıklarKullanımda
PSR-2Coding Style GuidePSR-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 yaparKaldırıldı
PSR-3Logger InterfaceGünlük kitaplıkları için ortak bir arayüz açıklarKullanımda
PSR-4Autoloading StandardSı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çıklarKullanımda
PSR-5PHPDoc StandardBu 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ırTaslak
PSR-6Caching InterfaceBu 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ırKullanımda
PSR-7HTTP Message InterfaceRFC 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çıklarKullanımda
PSR-8Huggable InterfaceNesnelerin 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 ilerletirKullanılmıyor
PSR-9Security DisclosureProje 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ğlarKullanılmıyor
PSR-10Security AdvisoriesAraş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ç sunarKullanılmıyor
PSR-11Container InterfaceBağı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ırKullanımda
PSR-12Extended Coding Style GuideKodlama 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ı gerektirirKullanımda
PSR-13Hypermedia LinksBir hipermedya bağlantısını temsil etmek için ortak arayüzleri açıklarKullanımda
PSR-14Event ManagerOlayların gönderilmesi ve işlenmesi için ortak arayüzleri açıklarKullanımda
PSR-15HTTP Server Request HandlersHTTP mesajlarını kullanan HTTP sunucusu istek işleyicileri ve HTTP sunucusu ara katman yazılımı bileşenleri için ortak arayüzleri açıklarKullanımda
PSR-16Simple CacheBir önbellek öğesi ve bir önbellek sürücüsü için basit ancak genişletilebilir bir arayüzü açıklarKullanımda
PSR-17HTTP FactoriesPSR-7 uyumlu HTTP nesneleri oluşturan faktörler için ortak bir standardı açıklarKullanımda
PSR-18HTTP ClientHTTP isteklerini göndermek ve HTTP yanıtlarını almak için ortak bir arayüzü açıklarKullanımda
PSR-19PHPDoc tagsPHPDoc standardında eksiksiz bir etiket kataloğu sağlarTaslak
PSR-20ClockZamanlamaya dayalı yan etkileri olan davranışı test ederken, test sırasında birlikte çalışabilirliğe izin vererek saate erişmenin standart bir yolunu sağlarKullanımda
PSR-21InternationalizationDuyurulacakTaslak
PSR-22Application TracingDuyurulacakTaslak

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

İlgili Yazılar