PHP Standard Recommendation

Eine PHP Standard Recommendation (PSR) ist eine als Empfehlung verfasste Spezifikation, welche durch die PHP Framework Interoperability Group (PHP FIG) veröffentlicht wird. Anders als bei einem Java Specification Request in Java empfiehlt eine PSR ausschließlich die Form der Programmierung mit PHP, nicht jedoch neue Features in PHP. Ziel der PSRs ist es, die Interoperabilität von (Dritt-)Komponenten (dependencies) zu ermöglichen, Quellcode universell lesbar und verständlich zu machen und bewährte Konzepte in der Programmierung zu standardisieren. Zielgruppe der PHP FIG ist primär jedes Mitglied der Gruppe, allerdings finden die PSRs über die FIG hinaus auch in den meisten anderen Projekten Aufmerksamkeit und Anwendung. Daher setzen Framework-Projektgruppen, die auch Mitglied der FIG sind, wie z. B. die der TYPO3-Community, von Symfony oder von Zend (Laminas), die PSR-Spezifikationen in einem selbst gewählten Umfang um. Eine Kompatibilität mit den PSRs und einschlägigen Bibliotheken ist ein sicherer Pfad zur Kompatibilität der eigenen Software mit den Produkten der FIG-Mitglieder.

NummerNameBeschreibungStatus
PSR-0Autoloading StandardBenennung von Komponenten in Bezug auf Hersteller, Namespace und Klasse sowie zugehörigen Verzeichnisnamen, so dass Komponenten bei Verwendung im PHP-Code bei Bedarf einheitlich automatisch nachgeladen werden können.veraltet; abgelöst durch PSR-4
PSR-1Basis Coding StandardAllgemeiner Programmierstil, der z. B. die Tags am Anfang eines PHP-Codes, den verwendeten Zeichensatz (UTF-8) sowie die Benennung von Klassen/Methoden regelt; erfordert die Umsetzung von PSR-0.Angenommen
PSR-2Coding Style GuideLegt z. B. fest an welchen Stellen im Code Zeilenumbrüche bei Klammerausdrücken zu verwenden sind, Einrückungen und Leerzeichen oder die Sichtbarkeit von Eigenschaften und Methoden; erfordert die Umsetzung von PSR-1.veraltet[1]; abgelöst durch PSR-12
PSR-3Logger InterfaceEinheitliches Interface für Logmeldungen, zu verwendende Loglevel, Exceptions, das Format von Logmeldungen und zu verwendende Hilfsklassen in diesem UmfeldAngenommen
PSR-4Improved AutoloadingErweiterung der Autoloading-Spezifikation aus PSR-0Angenommen
PSR-5PHPDocEine vollständige und formale Definition der PHPDoc-SyntaxEntwurf
PSR-6Caching InterfaceInterfaces für das Konzept des CachingAngenommen
PSR-7HTTP Message InterfacesEinheitliches Interface für HTTP-Nachrichten und Umgang mit URIsAngenommen
PSR-8Huggable InterfaceAprilscherzInaktiv[2]
PSR-9Security DisclosureVereinheitlichung von sicherheitsrelevanten Meldungen innerhalb von ProjektenInaktiv[2]
PSR-10Security AdvisoriesVereinheitlichung der Kommunikation sicherheitsrelevanter Meldungen mit der ÖffentlichkeitInaktiv[2]
PSR-11Container InterfaceInterface für Dependency Injection ContainersAngenommen (13.2.2017)[3]
PSR-12Extended Coding Style GuideErweitert PSR-1 und PSR-2 um weitere Regeln zum ProgrammierstilAngenommen (9.8.2019)[4]
PSR-13Hypermedia LinksSpezifikation bzgl. einheitlicher Darstellung von hypermedialen Links.Angenommen (15.11.2016)[5]
PSR-14Event ManagerEinheitliche Schnittstellen für die Implementierung von Events.Angenommen (25.3.2019)[6]
PSR-15HTTP HandlersAngenommen (22.1.2018)[7]
PSR-16Simple CacheVereinfachte Schnittstelle für Caching-BibliothekenAngenommen (1.1.2017)[8]
PSR-17HTTP FactoriesStandard für Fabrikmethoden zur Erstellung von PSR-7-kompatiblen ObjektenAngenommen (31.7.2018)[9]
PSR-18HTTP ClientStandard zum Senden und Empfangen von HTTP-AnfragenAngenommen (29.10.2018)[10]
PSR-19PHPDoc tagsKatalog von PHPDoc-TagsEntwurf

Weblinks

Einzelnachweise

  1. PSR-12: Extended Coding Style - PHP-FIG. Abgerufen am 16. September 2019.
  2. a b c PHP Standards Recommendations - PHP-FIG. Abgerufen am 16. September 2019.
  3. Google Groups. Abgerufen am 16. September 2019.
  4. Google Groups. Abgerufen am 16. September 2019.
  5. Google Groups. Abgerufen am 16. September 2019.
  6. Google Groups. Abgerufen am 16. September 2019.
  7. Google Groups. Abgerufen am 16. September 2019.
  8. Google Groups. Abgerufen am 16. September 2019.
  9. Google Groups. Abgerufen am 16. September 2019.
  10. Google Groups. Abgerufen am 16. September 2019.