Definition
PSR-12 ist eine PHP Standard Recommendation, die Regeln und Richtlinien zur Formatierung von PHP-Code definiert. Ziel ist es, einen einheitlichen Stil für PHP-Projekte zu schaffen, um die Lesbarkeit und Wartbarkeit des Codes zu verbessern. PSR-12 baut auf der vorherigen PSR-2 auf und erweitert diese um zusätzliche Vorgaben.
Die Empfehlung wurde von der PHP Framework Interop Group (PHP-FIG) entwickelt, einer Gruppe von Entwicklern und Organisationen, die Standards für PHP definieren. PSR-12 ist seit 2019 offiziell veröffentlicht und wird in vielen PHP-Projekten als Referenz für den Code-Stil verwendet.
Hintergrund und Entwicklung
Die Entwicklung von PSR-12 begann als Reaktion auf die zunehmende Vielfalt von PHP-Codestilen, die die Zusammenarbeit in Teams erschwerten. Die vorherige Empfehlung PSR-2 wurde als Grundlage genommen, um eine konsistentere und detailliertere Formatierung zu gewährleisten. PSR-12 berücksichtigt moderne PHP-Versionen und Sprachfeatures.
Das Ziel war es, eine umfassendere und präzisere Spezifikation zu schaffen, die auch Aspekte wie Einrückungen, Leerzeichen, Zeilenlängen und Klammerplatzierungen regelt. Die Standardisierung soll die Codequalität verbessern und den Einstieg für neue Entwickler erleichtern.
Inhalte und Regeln von PSR-12
PSR-12 definiert unter anderem Regeln zur Einrückung mit vier Leerzeichen, zur maximalen Zeilenlänge von 120 Zeichen und zur Verwendung von Leerzeilen zur Strukturierung des Codes. Auch die Positionierung von Klammern, Operatoren und Schlüsselwörtern wird genau festgelegt.
Darüber hinaus regelt PSR-12 die Formatierung von Namespace- und Use-Anweisungen, Klassen-, Methoden- und Funktionsdeklarationen sowie Kontrollstrukturen wie if, else und switch. Kommentare und Docblocks sind ebenfalls Teil der Spezifikation.
Anwendung und Umsetzung
PSR-12 wird in vielen PHP-Projekten und Frameworks als Standard für die Codeformatierung eingesetzt. Entwickler nutzen automatische Formatierungstools wie PHP_CodeSniffer oder PHP-CS-Fixer, um den Code gemäß PSR-12 zu überprüfen und anzupassen.
Die Einhaltung von PSR-12 erleichtert die Zusammenarbeit in Teams und die Integration von Code aus verschiedenen Quellen. Sie dient als Grundlage für Code-Reviews und Continuous Integration-Prozesse, um eine konsistente Codebasis sicherzustellen.
Abgrenzung zu anderen Standards
PSR-12 ist eine Weiterentwicklung von PSR-2, die detailliertere und modernere Regeln enthält. Während PSR-2 vor allem die Grundregeln für die Codeformatierung definierte, erweitert PSR-12 diese um weitere Aspekte und passt sie an aktuelle PHP-Versionen an.
Alternativ existieren andere Code-Stilrichtlinien wie der Zend Coding Standard oder der Symfony Coding Standard, die teilweise andere Formatierungsregeln vorgeben. PSR-12 ist jedoch der am weitesten verbreitete und von der PHP-Community empfohlene Standard.