Standardowe zalecenie PHP
PHP Standard Recommendation ( PSR ) to specyfikacja PHP opublikowana przez PHP Framework Interop Group . Podobnie jak Java Specification Request for Java służy do standaryzacji koncepcji programowania w PHP. Celem jest umożliwienie interoperacyjności komponentów i zapewnienie wspólnej podstawy technicznej do wdrażania sprawdzonych koncepcji optymalnych praktyk programowania i testowania. PHP-FIG jest tworzony przez kilku założycieli frameworków PHP.
Każdy PSR jest sugerowany przez członków i głosowany zgodnie z ustalonym protokołem, aby działać konsekwentnie i zgodnie z uzgodnionymi procesami.
Numer | Nazwa | Opis | Redaktor | Koordynator | Sponsor | Status |
---|---|---|---|---|---|---|
PSR-0 | Standard automatycznego ładowania | Opisuje obowiązkowe wymagania, których należy przestrzegać, aby zapewnić interoperacyjność autoloadera. | Nie dotyczy | Nie dotyczy | Nie dotyczy | Przestarzałe i zastąpione przez PSR-4 |
PSR-1 | Podstawowy standard kodowania | Obejmuje to, co należy uznać za standardowe elementy kodowania, które są wymagane do zapewnienia wysokiego poziomu technicznej interoperacyjności między współdzielonym kodem PHP. | Nie dotyczy | Nie dotyczy | Nie dotyczy | Przyjęty |
PSR-2 | Przewodnik po stylach kodowania | Uwzględnia PSR-1 i ma na celu zmniejszenie tarć poznawczych podczas skanowania kodu od różnych autorów. Robi to, wyliczając wspólny zestaw reguł i oczekiwań dotyczących formatowania kodu PHP. | Nie dotyczy | Nie dotyczy | Nie dotyczy | Przestarzałe |
PSR-3 | Interfejs rejestratora | Opisuje wspólny interfejs dla bibliotek rejestrowania. | Jordi Boggiano | Nie dotyczy | Nie dotyczy | Przyjęty |
PSR-4 | Standard automatycznego ładowania | Opisuje specyfikację automatycznego ładowania klas ze ścieżek plików. Jest w pełni interoperacyjny i może być używany jako dodatek do dowolnej innej specyfikacji automatycznego ładowania, w tym PSR-0. Ten PSR opisuje również, gdzie umieścić pliki, które zostaną automatycznie załadowane zgodnie ze specyfikacją. | Paula M. Jonesa | Phila Sturgeona | Larry'ego Garfielda | Przyjęty |
PSR-5 | Standard PHPDoc | Głównym celem tego PSR jest dostarczenie kompletnej i formalnej definicji standardu PHPDoc. Ten PSR różni się od swojego poprzednika, de facto standardu PHPDoc powiązanego z phpDocumentor 1.x, aby zapewnić obsługę nowszych funkcji języka PHP i rozwiązać niektóre niedociągnięcia jego poprzednika. | Mike'a van Riela | Phila Sturgeona | Donalda Gilberta | Projekt |
PSR-6 | Interfejs buforowania | Celem tego PSR jest umożliwienie programistom tworzenia bibliotek obsługujących pamięć podręczną, które można zintegrować z istniejącymi platformami i systemami bez potrzeby tworzenia niestandardowych programów. | Larry'ego Garfielda | Paweł Dragoonis | Roberta Hafnera | Przyjęty |
PSR-7 | Interfejs komunikatów HTTP | Opisuje wspólne interfejsy do reprezentowania komunikatów HTTP zgodnie z opisem w dokumentach RFC 7230 i RFC 7231 oraz identyfikatory URI do użytku z komunikatami HTTP zgodnie z opisem w dokumencie RFC 3986. | Matthew Weier O'Phinney | Beau Simensena | Paula M. Jonesa | Przyjęty |
PSR-8 | Przytulny interfejs | Ustanawia powszechny sposób, w jaki przedmioty wyrażają wzajemne uznanie i wsparcie poprzez przytulanie. Pozwala to obiektom wspierać się nawzajem w konstruktywny sposób, wspierając współpracę między różnymi projektami PHP. | Larry'ego Garfielda | Cala Evansa | Paula M. Jonesa | Opuszczony |
PSR-9 | Ujawnienie bezpieczeństwa | Daje kierownikom projektów jasno określone podejście do umożliwienia użytkownikom końcowym odkrywania ujawnień dotyczących bezpieczeństwa przy użyciu jasno określonego, ustrukturyzowanego formatu tych ujawnień. | Łukasza Kahwe Smitha | Korwin Szanto | Larry'ego Garfielda | Opuszczony |
PSR-10 | Zalecenia dotyczące bezpieczeństwa | Daje naukowcom, kierownikom projektów, kierownikom projektów wyższego szczebla i użytkownikom końcowym zdefiniowany i ustrukturyzowany proces ujawniania luk w zabezpieczeniach. | Łukasza Kahwe Smitha | Larry'ego Garfielda | Korwin Szanto | Opuszczony |
PSR-11 | Interfejs kontenera | Opisuje wspólny interfejs dla kontenerów wstrzykiwania zależności . Celem jest ujednolicenie sposobu, w jaki frameworki i biblioteki wykorzystują kontener do uzyskiwania obiektów i parametrów ( w dalszej części tego dokumentu nazywane są wpisami ). | Matthieu Napoli, David Négrier | Paula M. Jonesa | Jeremy'ego Lindbloma | Przyjęty |
PSR-12 | Rozszerzony przewodnik po stylach kodowania | Rozszerza, rozszerza i zastępuje PSR-2, przewodnik po stylach kodowania i wymaga przestrzegania PSR-1, podstawowego standardu kodowania. | Michał Kulum | Korwin Szanto | Aleksandra Makarowa | Przyjęty |
PSR-13 | Linki hipermedialne | Opisuje wspólne interfejsy do reprezentowania łącza hipermedialnego. | Larry'ego Garfielda | Matthew Weier O'Phinney | Marek Aleksander | Przyjęty |
PSR-14 | Menedżer wydarzeń | Opisuje wspólne interfejsy do wysyłania i obsługi zdarzeń. | Larry'ego Garfielda | Przyjęty | ||
PSR-15 | Programy obsługi żądań serwera HTTP | Opisuje typowe interfejsy dla programów obsługi żądań serwera HTTP i komponentów oprogramowania pośredniego serwera HTTP, które używają komunikatów HTTP. | Woody'ego Gilka | Matthew Weier O'Phinney | Przyjęty | |
PSR-16 | Prosta pamięć podręczna | Opisuje prosty, ale rozszerzalny interfejs dla elementu pamięci podręcznej i sterownika pamięci podręcznej. | Paweł Dragoonis | Jordi Boggiano | Fabien Potencier | Przyjęty |
PSR-17 | Fabryki HTTP | Opisuje wspólny standard dla fabryk, które tworzą obiekty HTTP zgodne z PSR-7. | Woody'ego Gilka | Matthew Weier O'Phinney | Przyjęty | |
PSR-18 | Klient HTTP | Opisuje wspólny interfejs do wysyłania żądań HTTP i odbierania odpowiedzi HTTP. | Tobiasz Nyholm | Sara Golemon | Przyjęty | |
PSR-19 | Tagi PHPDoc | Udostępnia kompletny katalog tagów w standardzie PHPDoc . | Chucka Burgessa | Projekt | ||
PSR-20 | Zegar | Zapewnia standardowy sposób uzyskiwania dostępu do zegara - umożliwiając interoperacyjność podczas testowania, podczas testowania zachowania, które ma skutki uboczne oparte na czasie. | Chrisa Seuferta | Projekt |
Oficjalna strona internetowa PHP-FIG zawiera dokumentację PSR zgodną z RFC 2119 napisaną przez Scotta Bradnera w marcu 1997 na Uniwersytecie Harvarda .