PHP Upgrade & Legacy Software

Alte PHP-Anwendung ohne Framework modernisieren

Viele einzelne PHP-Dateien, Includes und eigene Datenbanklogik? Das Fehlen eines Frameworks ist kein Grund für einen kompletten Neubau. Ich prüfe zuerst, was erhalten bleiben kann.

PHP-Version, Hosting und eine vorhandene Fehlermeldung reichen für den ersten Kontakt häufig bereits aus.

Ich bin Stefan Pilz, PHP- und Shopware-Entwickler. Ich übernehme bestehende PHP-Software für Unternehmen und Agenturen und mache sie auf einer unterstützten PHP-Version weiter nutzbar. Von Paphos in Zypern arbeite ich remote für Deutschland, Europa und weltweit.

  • Eigene PHP-Websites seit 2004
  • Direkter Kontakt zum Entwickler
  • Eigenentwicklungen willkommen
  • Framework optional

Eine Eigenentwicklung ist ein regulärer Ausgangspunkt

Die Anwendung wurde selbst geschrieben, über Jahre erweitert und hat keine Composer-Struktur. Geschäftslogik steckt in PHP-Dateien, Datenbankabfragen und Formularen. Vielleicht gibt es eine zentrale Konfiguration, vielleicht mehrere Einstiegspunkte und Cronjobs.

Das ist kein Ausschlusskriterium. Ein PHP-Upgrade setzt weder ein modernes Projektgerüst noch Objektorientierung voraus. Entscheidend sind das Verhalten der Anwendung und die Abhängigkeiten, die sie tatsächlich nutzt.

Wie ich mich in fremden Code einarbeite

Einstiegspunkte finden

Welche Dateien ruft der Webserver auf? Welche Includes werden geladen? Welche Aufgaben laufen zeitgesteuert? So entsteht ein Überblick über die Wege durch die Anwendung.

Geschäftslogik verstehen

Welche Regeln steuern Formulare, Berechnungen, Datenänderungen und Ausgaben? Zusammen mit dir halte ich fest, welche Ergebnisse erhalten bleiben müssen. Fehlende Dokumentation wird dabei schrittweise ergänzt.

Versteckte Abhängigkeiten erkennen

Auch ohne Composer kann eine Anwendung fremde Bibliotheken, Mailer, Datenbanktreiber oder Server-Extensions benötigen. Diese gehören ebenso zur Prüfung wie der eigene Code.

PHP aktualisieren, Struktur gezielt verbessern

Zuerst geht es um die notwendige Kompatibilität. Beim Anpassen können einzelne Funktionen entkoppelt oder Datenbankzugriffe übersichtlicher gemacht werden, wenn das den Auftrag sinnvoll unterstützt. Ein Wechsel der gesamten Architektur wird dadurch nicht automatisch Teil des Projekts.

Wenn die vorhandene Struktur den weiteren Betrieb trägt, kann sie bleiben. Wenn sie spätere Änderungen erschwert, besprechen wir gezieltes Refactoring oder größere Legacy-Modernisierung als eigene Entscheidung. Symfony ist eine Option, keine Voraussetzung.

Vorher und nachher: ein reales Projekt

Ausgangslage

Eine vor vielen Jahren individuell entwickelte Website mit vielen einzelnen PHP-Dateien lief auf PHP 5.6. Kein Framework, kein Symfony, kein Laravel.

Ergebnis

Der bestehende Code wurde auf PHP 8.4 angepasst. Die Anwendung läuft auf dieser Version und kann weiterentwickelt werden. Ein kompletter Rewrite war nicht nötig.

Die vollständige anonymisierte Case Study zeigt genau diesen Weg. Sie enthält keine pauschale Aussage zum Aufwand anderer Eigenentwicklungen.

Was nach dem Upgrade möglich wird

Neue Formulare, Exporte, Administrationsfunktionen oder APIs und Schnittstellen können auf dem vorhandenen System aufbauen. Auch die Modernisierung des Frontends lässt sich separat planen. PHP-Upgrade und Ablauf im Überblick.

FAQ

Muss ich zuerst Composer einführen?

Nein. Composer kann die Verwaltung von Bibliotheken erleichtern, ist aber keine Voraussetzung für jedes PHP-Upgrade. Ob die Einführung sinnvoll ist, hängt vom Projekt ab.

Kann prozeduraler Code bleiben?

Ja, wenn er für den Zweck weiter tragfähig ist. Änderungen begründe ich mit konkreten Risiken oder Anforderungen, nicht allein mit einem bevorzugten Programmierstil.

Was, wenn der frühere Entwickler nicht mehr erreichbar ist?

Ich kann eine fremde Codebasis übernehmen. Quellcode, verfügbare Systemzugänge und Menschen, die die Abläufe kennen, helfen bei der Bestandsaufnahme. Fehlendes Wissen beeinflusst den Analysebedarf.

Deine PHP-Anwendung: Was steht an?

PHP-Version, Hosting und eine vorhandene Fehlermeldung reichen für den ersten Kontakt häufig bereits aus.

Hilfreich sind außerdem die verfügbare Zielversion und eine kurze Beschreibung der Anwendung. Ein vollständiges Lastenheft brauchst du für den ersten Kontakt nicht.