Metadaten in PHP 8: Sprachfeature statt Docblock-Hacks

Seit PHP vor vielen Jahren Docblock-Kommentare eingeführt hat, gibt es immer wieder neuere und komplexere Bibliotheken, um Metadaten für Code-Strukturen in PHP möglich zu machen. Mit Code-Metadaten lassen sich Klassen, Funktionen, Felder und Konstanten maschinell dokumentieren und konfigurieren. Bibliotheken und Frameworks können diese Metadaten dann auslesen und weiterverarbeiten. Ein PHP-Projekt für Metadaten, an dem ich selber mitgewirkt habe, ist beispielsweise Doctrine Annotations.

Die große Nachfrage nach solchen Bibliotheken ist der Grund, warum seit 2012 viele Male versucht wurde, dieses Feature direkt in der Sprache PHP zu verankern. Der letzte Versuch im Frühjahr 2020 von mir und einigen Mitstreitern war erfolgreich und das Feature "Attributes" ist für das diesjährige PHP-8-Release fertiggestellt worden.

In diesem Vortrag möchte ich einen Überblick über Metadaten in Code im Allgemeinen und PHP 8 Attributes im Speziellen geben und ein paar einfache und komplexere Use Cases vorstellen.

Vorkenntnisse

Objektorientiertes PHP

Lernziele

* Vor- und Nachteile von Meta-Programmierung
* Attribute in PHP 8: Syntax und APIs
* Beispiele zur Verwendung von Attributes in PHP-Projekten

Speaker

 

Benjamin Eberlei
Benjamin Eberlei wirkt an der Open-Source-Entwicklung von PHP und Doctrine mit und beschäftigt sich als Gründer der Tideways GmbH mit PHP-Performance und -Profiling.

Ihr möchtet über die
auf dem Laufenden gehalten werden?

 

Anmelden