PHP FIG

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Die PHP Framework Interoperability Group (kurz: PHP FIG) ist eine PHP-Anwendergruppe, die aus einem Konsens heraus Empfehlungen erarbeitet und veröffentlicht, wie PHP-Quellcode geschrieben werden sollte, damit er von der Gemeinschaft lesbar und verständlich, sowie zu anderen Komponenten und Programmbibliotheken aus dem digitalen Ökosystem von PHP kompatibel und interoperabel ist. Die Gruppe nennt eine Empfehlung PHP Standard Recommendation, oder kurz PSR.

Die Erarbeitung von Empfehlungen, die sich als technischer Standard etablieren, ist eine der ältesten Traditionen der Netzkultur. Unter der Reihe Request for Comments veröffentlicht die Internet Engineering Task Force seit 1969 solche Empfehlungen, unter anderem für Protokolle, Dateiformate, Datenformate und für die Art und Weise, wie Empfehlungen formuliert und zu verstehen sein sollen: die PHP FIG nimmt in jeder ihrer bisher veröffentlichten PSRs Bezug auf den Standard RFC 2119[1] und der Entstehungsprozess von PSRs ist von dem RFC-Verfahren abgeleitet.

Die Gruppe gründete sich auf der Fachkonferenz „php|tek 2009“ in Chicago und bestand zunächst aus fünf Mitgliedern, bevor sich weitere fünfzehn Interessenten um eine Mitgliedschaft bewarben und per Abstimmung zugelassen wurden.

Die Gruppe wurde ursprünglich gegründet, damit sich Repräsentanten von PHP-Projekten und -Produkten untereinander über Gemeinsamkeiten ihrer Projekte sowie mögliche Wege der Zusammenarbeit austauschen konnten. Dementsprechend betrachtet die FIG ihre eigenen Mitglieder als Zielgruppe,[2] wurde sich jedoch im Laufe ihres Bestehens der Beobachtung durch, und ihren Einfluss auf die PHP-Gemeinschaft bewusst, da ihre Empfehlungen über die Gruppe hinaus Anwendung fanden. Die FIG lehnt es jedoch ab, ihre Empfehlungen als Vorschrift verstehen zu lassen, wie Programmierer ihre Anwendung zu schreiben hätten. Dementsprechend finden selbst unter den Mitgliedern der FIG nicht alle PSRs durchgehend Anwendung.

Derzeit (Stand 2022) sind zwölf Personen Mitglied im sogenannten Core Committee, sowie 36 PHP-Projekte Mitglieder der FIG.[3] Die Gruppe wird durch drei Sekretäre koordiniert, die in einem Auswahlprozess von der Community selbst ernannt wurden. Alle natürlichen Personen, die in der FIG Mitglied sind und waren, sowie die meisten Repräsentanten der Projekte in der Gruppe haben einen Twitter-Account. Kein Mitglied ist als Hauptentwickler bei PHP tätig.

Nur Mitglieder des Core Committees sowie die Repräsentanten der Projekte haben Stimmrechte, jedoch dürfen alle Mitglieder der Anwendergruppe die Entwürfe der Empfehlungen beeinflussen, Vorschläge machen und kommentieren.

Einige bedeutende PHP-Projekte wie Doctrine, Symfony und Laravel, waren früher Mitglieder der Gruppe und haben die FIG bis 2018 wieder verlassen.

Liste der Projekte mit einer Mitgliedschaft bei der FIG
Projekt Kurzbeschreibung
AzuraCast Verwaltungssoftware für Web Radio
CakePHP Framework
Composer Abhängigkeitsverwaltung
Concrete CMS Content-Management-System
Contao Open Source CMS Content-Management-System
eZ Publish Content-Management-System
Horde Groupware Framework
IBM i Toolkit SDK für die Interoperabilität mit IBM Mainframes
AMP (früher „Icicle“) Framework für nebenläufige Ausführung von PHP-Software
Jackalope PHP-Implementierung des Java Content Repository-Standards
Joomla Content-Management-System
Laminas Project ehemals Zend Framework; Framework
Lithium Micro-Framework
Magento eCommerce-Lösung
PEAR Abhängigkeitsverwaltung
Phalcon Framework (als PHP-Erweiterung)
Phing Software Building
phpBB Betriebssoftware für Internetforen
phpDocumentor Software-Dokumentationswerkzeug
PHPixie Framework
Pimcore Produktinformationssystem
PrestaShop eCommerce-Lösung
PyroCMS Content-Management-System
ReactPHP Framework für ereignisgesteuerte Architekturen
Revive Adserver Adserver
Sculpin Generator für statische Webseiten
Slim Micro-Framework
SilverStripe Content-Management-System
Stash Programmbibliothek für das Caching
Stormpath PHP SDK PHP-Anbindung zur cloud-basierten Identitätslösung von Okta Inc.
SugarCRM Lösung für das Customer-Relationship-Management
Typo3 Content-Management-System
Flow / Neos Content-Management-System und CMS-Framework
Wikibase / Semantic MediaWiki Wiki und Wiki-Framework
Yii Framework Framework
Zikula Framework

Die Empfehlungen, die die Gruppe erarbeitet, erstrecken sich über alle Bereiche der PHP-Anwendung, das heißt, alle Bereiche der Entwicklung von Anwendungen in PHP. Von Methodiken wie Codierungsstil, über Interfaces, bis hin zu kompletten Komponenten wie einem standardisierten Autoloader in Quellcode (PSR-4) wurden bereits zahlreiche Empfehlungen verabschiedet. Einige PSRs sind inzwischen durch neuere PSRs abgelöst worden, während andere sich noch im Entwurf befinden oder in der Entwurfsphase aufgegeben (abandoned) wurden.

Wie Empfehlungen im Rahmen der FIG entstehen, regelt die Gruppe in ihrem „PSR Workflow“.[4]

Frühere Mitglieder der FIG kritisieren, dass sich die Gruppe von ihrem eigentlichen Ziel, Interoperabilität zwischen PHP-Frameworks zu schaffen, zu weit entfernt habe.[5] Fabien Potencier, der Gründer und Hauptautor des Symfony Frameworks, kritisierte, dass Standards wie PSR-7 und PSR-14 bereits technische Grundlagen für „dogmatische“ (opinionated) Frameworks beschreiben und nicht mehr die für Interoperabilität notwendige Neutralität besitzen würden, die für frühere Empfehlungen prägend war.[6] Aus diesen Gründen habe Symfony die FIG verlassen.

Einige Beobachter der FIG äußern, dass die Gruppe ihre Ziele erreicht habe und die „großen Mitspieler“ nun die Empfehlungen umsetzen würden.[7]

Aufgrund ihrer Bedeutung im PHP-Ökosystem sind Kenntnisse der wesentlichen PSRs gelegentlich Thema von Bewerbungsgesprächen für PHP-Entwickler.[8]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. RFC 2119 – Key words for use in RFCs to Indicate Requirement Levels. März 1997 (englisch).
  2. Frequently Asked Questions. In: php-fig.org. Abgerufen am 18. April 2022 (englisch).
  3. Personnel. In: php-fig.org. 16. März 2022, archiviert vom Original (nicht mehr online verfügbar) am 16. März 2022; abgerufen am 18. April 2022.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.php-fig.org
  4. PSR Workflow. In: php-fig.org. Abgerufen am 18. April 2022 (englisch).
  5. Amrata Joshi: Symfony leaves PHP-FIG, the framework interoperability group. 21. November 2018, abgerufen am 18. April 2022 (amerikanisches Englisch).
  6. Fabien Potencier: PHP-FIG **was** a great way to create a common ground for PHP projects, **interoperability-first** #php. In: twitter.com. 24. Oktober 2021, archiviert vom Original (nicht mehr online verfügbar) am 24. Oktober 2021; abgerufen am 18. April 2022.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/twitter.com
  7. PHP-FIG: is effective today?: PHP. 18. April 2022, archiviert vom Original (nicht mehr online verfügbar) am 18. April 2022; abgerufen am 18. April 2022.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.reddit.com
  8. 25 PHP Interview Questions and Answers You Should Know. In: arc.dev. Abgerufen am 18. April 2022 (englisch).