PHP Developer Day 2024

Technologie | Veranstaltungen

PHP gehört zu den beliebtesten Programmiersprachen und wird von Entwicklerinnen und Entwicklern auf der ganzen Welt genutzt. Zu den unzähligen Usergroups rund um den Globus gehört auch die PHP Usergroup Dresden, die den diesjährigen PHP Developer Day in unserer Heimatstadt organisiert hat. Zu den rund 100 Teilnehmerinnen und Teilnehmer gehörten unsere webits Annett, Leoni und Paul, die einiges an spannendem Input mitgebracht haben. Die Highlights haben wir in unserem Recap für Sie zusammengefasst.

Open Source heißt nicht „kostenlos“

 

Die Keynote des diesjährigen PHP Developer Days kam von Juliette Reinders Folmer, Co-Autorin bzw. Initiatorin der Tools PHPCompatibility und PHPModernizer und seit vielen Jahren regelmäßige Sprecherin auf PHP-Events. Sie sprach darüber, wie die Abhängigkeit von Open-Source-Bausteinen in der Softwarearchitektur von Unternehmen zum Problem werden kann, wenn deren Wartung auf den Schultern weniger sogenannter Maintainer lastet, die dies unentgeltlich und in ihrer Freizeit tun.

Es werde zunehmend schwerer, Menschen zu finden, die dazu bereit sind und auch die Bereitschaft von Unternehmen, ihren Entwicklerinnen und Entwicklern Ressourcen für diese Aufgabe bereitzustellen, nimmt ab. Die Folge sind überlastete Maintainer, die sich aus Projekten zurückziehen, was wiederum eine Kette von Problemen in Form von Sicherheitslücken auslösen kann. Hier kommt der Fall der sogenannten XZ-Utils-Hintertür aus dem Frühjahr 2024 in den Sinn, bei dem ausgenutzt wurde, dass es nur einen einzigen Maintainer gab. Unter dem Vorwand, ihn zu unterstützen, wurde eine Spionagefunktion in sein Projekt eingeschleust, das über 20 Millionen Zugänge verfügte.

Juliette betonte, dass Open Source von der Community und deren Engagement lebt und gab Tipps, wie man sich als Maintainer organisieren und Projekte unterstützen kann. Ganz wichtig dabei: sich die Abhängigkeiten bewusst machen, zum Projekt beitragen und sich darüber im Klaren sein, dass Maintainer mit Zeit und Nerven alles zahlen, was nicht finanziell in Open Source Projekte fließt.

 

Tiefe Einblicke in PHPUnit

 

Sebastian Bergmann ist der Schöpfer des Tools PHPUnit, das bereits seit zwei Jahrzehnten von PHP-Entwicklerinnen und -entwicklern überall auf der Welt verwendet und von vielen als unverzichtbar im Entwicklungsprozess angesehen wird. In seinem Vortrag sprach er darüber, dass die meisten zwar die Basics dieses Tools kennen, aber nur wenige wirklich über seine Tiefen Bescheid wissen.

Mit PHPUnit lassen sich sogenannte Unit Tests durchführen, mit denen man auf verschiedenen Ebenen überprüfen kann, ob Code so funktioniert wie er soll. Sebastian demonstrierte einige dieser Tests live und erklärte, wie man sie im Programmieralltag durchführt. Außerdem stellte Sebastian die Neuerungen der aktuellen Version von PHPUnit vor, die das Testen noch effizienter machen.

 

Guter Code – eine Entwicklungsgeschichte

 

Eine kleine Zeitreise war der Vortrag von Sebastian Kurfürst, der in seiner langen Zeit als Entwickler bereits zu Open-Source-Technologien wie TYPO3, Neos und Flow beigetragen  hat. Anhand seiner eigenen Geschichte zeigte er, wie man guten Code schreibt, der auch nach Jahren noch gut gepflegt und weiterentwickelt werden kann.

Man solle großen Wert darauf legen, dass der Code explizit und eindeutig ist und dass Programmierungsmuster funktionell und intuitiv gestaltet sind. Außerdem müsse der Code gut dokumentiert sein, damit er nicht nur für andere, sondern auch für einen selbst nach längerer Zeit wieder leicht verständlich ist. Dabei sei darauf zu achten, nicht unbedingt zu dokumentieren, was eine Funktion tut, da dies meist aus Code selbst ersichtlich sei. Vielmehr sei es wichtig, den Zweck und das Ziel einer Funktion festzuhalten.

Außerdem sollte man den Code konsistent und deterministisch halten, das heißt Funktionen sollten eine Aufgabe ohne Nebeneffekte erfüllen und bezüglich Input und Output im Gleichgewicht sein. Zum Abschluss stellte er einige Konzepte zum Schreiben von Code vor, mit denen er in der Vergangenheit gute Erfahrungen gemacht habe und empfahl, sich stets im Team zusammenzusetzen und Code zu diskutieren.

Auch wenn jede Entwicklerin und jeder Entwickler eigene Vorstellungen von sauberem Code hat, sind es Vorträge wie der von Sebastian und Events wie der PHP Developer Day, welche hierzu bereichernde Anregungen geben.

 

Zwischen Monolith und Microservice – der Modulith

 

Sebastian Feldmann beschrieb in seinem Vortrag das Zwischenstadium einer monolithischen Anwendung auf dem Weg zu einer in Microservices ausgelagerten Software-Architektur – den Modulithen. Ähnlich wie beim Monolithen handelt es sich dabei um eine in sich geschlossene Anwendung, die jedoch im Gegensatz zum Monolithen intern klar in Module strukturiert ist. Diese Module enthalten Code und kapseln spezifische Funktionalitäten, weisen aber eine geringe Abhängigkeit voneinander auf und können daher leichter einzeln geändert oder gewartet werden. Die Bereitstellung eines Modulithen erfolgt allerdings im Gegensatz zu einer Sammlung von Microservices als eine Einheit.

Ein System aus Microservices, so Sebastian, sei zwar flexibler und leichter zu skalieren, aber nicht unbedingt sicher vor strukturellen Fehlern. Alle Funktionen in Microservices auszulagern könne am Ende auch zu unnötig hoher Komplexität führen. Vor allem wenn zwischen den Services wieder Abhängigkeiten entstehen, wird die Grundidee eines solchen Ansatzes ad absurdum geführt. Daher sei es sinnvoll, einen Monolithen nicht sofort in Microservices zu zerlegen, sondern den Zwischenschritt über einen Modulithen zu gehen, der dann leichter und kontrollierter in den gewünschten Zustand überführt werden kann.

 

Unser PHP Developer Day 2024

 

Anders als bei einer mehrtägigen Konferenz bietet ein Event wie der PHP Developer Day 2024 zwar weniger Gelegenheit zum Austausch innerhalb der Community, dafür aber einen konzentrierteren Fokus auf die Inhalte, die kompakt an einem Tag präsentiert werden. Beim diesjährigen Treffen der PHP-Entwicklerinnen und -Entwickler in Dresden konnten unsere webits einige wichtige Erkenntnisse für unsere tägliche Arbeit mitnehmen, aber auch ihren Horizont durch das Eintauchen in die Arbeit anderer erweitern. Events wie dieses sind nur dank Communities wie der PHP Usergroup Dresden möglich, die dafür Unterstützung verdient. Wir sind froh, dass es den PHP Dev Day gibt und sind schon gespannt auf den nächsten!