Herausforderung:
Unser Content-Management-System Open2C wird kontinuierlich weiterentwickelt. Viele moderne Konzepte, die in der verwendeten Programmiersprache PHP möglich sind, haben über die Jahre in Teilbereichen Einzug gehalten.
Im Rahmen einer weiteren Standardisierung sieht unser Produktplan vor, auch den Kern von Open2C zu modernisieren und dabei die Stabilität, auf die unsere Bedarfsgruppe setzt, nicht zu gefährden.
Umsetzung:
Im ersten Schritt wurde der gesamte Code, der die Frontend- und Backendausgabe verantwortet, mit Namespaces versehen und die bestehenden Autoloader auf den PSR-4-Autoloader von Composer vereinheitlicht.
Ein gewidmeter Zweig in GIT wurde erstellt und über lokale Bind-Mounts mit dem aktuellen PHP 7.4 und MySQL 8 in Docker gearbeitet. Alle registrierten PHP-Autoloader wurden zuerst durch eine PSR-4-Referenzimplementierung ersetzt, später durch den Composer-Autoloader. Am Ende des Refactorings wurden zwei wichtige Bibliotheken über Composer eingebunden, u.a. die Templating-Engine.