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
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.
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.
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 |
Paylaş
Takip Et
Eğitimin, Eğlencenin ve Haberin Sitesi TEKNOKODİ