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; 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
PSR-9Security DisclosureVereinheitlichung von sicherheitsrelevanten Meldungen innerhalb von ProjektenInaktiv
PSR-10Security AdvisoriesVereinheitlichung der Kommunikation sicherheitsrelevanter Meldungen mit der ÖffentlichkeitInaktiv
PSR-11Container InterfaceInterface für Dependency Injection ContainersAngenommen (13.2.2017)
PSR-12Extended Coding Style GuideErweitert PSR-1 und PSR-2 um weitere Regeln zum ProgrammierstilAngenommen (9.8.2019)
PSR-13 Hypermedia Links Spezifikation bzgl. einheitlicher Darstellung von hypermedialen Links. Angenommen (15.11.2016)
PSR-14 Event Manager Einheitliche Schnittstellen für die Implementierung von Events. Angenommen (25.3.2019)
PSR-15 HTTP Handlers Angenommen (22.1.2018)
PSR-16 Simple Cache Vereinfachte Schnittstelle für Caching-Bibliotheken Angenommen (1.1.2017)
PSR-17 HTTP Factories Standard für Fabrikmethoden zur Erstellung von PSR-7-kompatiblen Objekten Angenommen (31.7.2018)
PSR-18 HTTP Client Standard zum Senden und Empfangen von HTTP-Anfragen Angenommen (29.10.2018)
PSR-19 PHPDoc tags Katalog von PHPDoc-Tags Entwurf

Einzelnachweise

  1. PSR-12: Extended Coding Style - PHP-FIG. Abgerufen am 16. September 2019.
  2. 1 2 3 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. PSR-18: HTTP Client,php-fig.org, 1. April 2023
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.