Ist PHP noch zeitgemäß? Stärken, Grenzen und Altlasten
PHP ist für die meisten neuen Webanwendungen eine zeitgemäße Grundlage, mit strengen Typen, deutlich mehr Tempo und planbaren Supportzeiten seit PHP 7 und 8. Für Datenanalyse, sehr viele offene Verbindungen oder native Apps passen andere Sprachen besser.
Der Ruf von PHP stammt oft aus den Jahren um PHP 5: lose Typen, gemischter Code aus HTML und Datenbankabfragen, Sicherheitslücken in selbst gebauten Formularen. Vieles davon beschreibt alten Code, nicht die Sprache, wie sie seit einigen Jahren aussieht. Wer eine Sprache für ein neues Projekt wählt, sollte die aktuelle Version bewerten, nicht die Erinnerung.
Wir arbeiten seit 2004 mit PHP und haben die großen Versionswechsel seitdem in Projekten begleitet. Im Folgenden geht es darum, was sich verändert hat, wo PHP stark ist und wo wir zu einer anderen Sprache raten würden.
Entwicklung
Was sich seit PHP 5 geändert hat
Seit PHP 7.0 im Dezember 2015 erscheint jedes Jahr eine neue Version, jeweils Ende November oder Anfang Dezember, jede mit festen Terminen für Fehlerbehebungen und Sicherheitsupdates. Die wichtigsten Schritte laut den Release-Seiten auf php.net:
PHP 7.0 (Dezember 2015): laut php.net bis zu doppelt so schnell wie PHP 5.6, mit deutlich weniger Speicherbedarf. Dazu Typangaben für Parameter und Rückgabewerte.
PHP 7.4 (November 2019): Typangaben für Eigenschaften von Klassen.
PHP 8.0 (November 2020): Union Types, benannte Argumente, match-Ausdruck, Attribute, Fehler als Ausnahmen in den eingebauten Funktionen und ein JIT-Compiler.
PHP 8.1 (November 2021): Aufzählungstypen (Enums), unveränderliche Eigenschaften (readonly), Fibers als Grundlage für nebenläufige Abläufe.
PHP 8.2 und 8.3 (Dezember 2022, November 2023): unveränderliche Klassen, Typen für Klassenkonstanten.
PHP 8.4 (November 2024): Property Hooks und asymmetrische Sichtbarkeit für kürzere Datenklassen.
PHP 8.5 (November 2025): Pipe-Operator für verkettete Aufrufe, eine eingebaute Erweiterung für URLs nach RFC 3986 und WHATWG.
Seit 2021 finanziert außerdem die PHP Foundation, getragen von Unternehmen aus dem PHP-Umfeld, Entwickler, die am Kern der Sprache arbeiten. Die Weiterentwicklung hängt damit nicht mehr am Freizeitengagement weniger Personen.
Was geblieben ist
Manche Eigenheiten sind geblieben, weil PHP Rückwärtskompatibilität ernst nimmt. Die eingebauten Funktionen haben uneinheitliche Namen und Parameterreihenfolgen, str_replace erwartet zuerst den Suchbegriff, strpos zuerst den Text. Lose Vergleiche mit zwei Gleichheitszeichen gibt es weiterhin, nur mit weniger überraschenden Regeln. Typangaben sind freiwillig, eine Datei ohne declare(strict_types=1) wandelt Werte weiterhin still um. Frameworks und Werkzeuge gleichen das aus, die Sprache selbst zwingt niemanden zu sauberem Code. Für ein neues Projekt heißt das: Die Qualität hängt an den Regeln, die das Team sich setzt und automatisch prüfen lässt.
Praxis
Typen, Tempo und Werkzeuge
Der größte Unterschied zu altem PHP liegt im Alltag beim Schreiben und Prüfen von Code. Typangaben, Enums und unveränderliche Objekte machen viele Fehler sichtbar, bevor der Code läuft.
Werkzeuge prüfen den Rest. PHPStan und Psalm finden Typfehler durch statische Analyse, ohne den Code auszuführen. Rector schreibt veraltete Schreibweisen automatisch um. Pest und PHPUnit decken die Tests ab, Composer verwaltet die Abhängigkeiten. Zusammen ergibt das eine Prüfkette, wie sie Teams aus Java oder TypeScript kennen. Sie läuft bei jeder Änderung automatisch, bevor Code auf den Server kommt. Für Auftraggeber ist das ein greifbares Kriterium: Fragen Sie Ihren Dienstleister, welche dieser Prüfungen bei jeder Auslieferung laufen und auf welcher Stufe die statische Analyse eingestellt ist.
Beim Tempo gilt eine Einschränkung, die oft falsch verstanden wird. Der große Sprung kam mit PHP 7. Der JIT-Compiler aus PHP 8.0 bringt laut php.net bei rechenintensiven Aufgaben viel, bei typischen Webanwendungen liegt die Leistung dagegen etwa auf dem Niveau von PHP 7.4. Für eine Website oder ein Kundenportal ist der JIT also kein Argument. Dort entscheiden Datenbankabfragen, Caching und die Zahl der Anfragen an externe Dienste.
In der folgenden Datenklasse führen ein Statuswert, den es nicht gibt, ein Betrag als Text oder eine nachträglich geänderte Rechnungsnummer sofort zu einem Fehler. In PHP 5 wären das drei stille Fehlerquellen gewesen.
enum Status: string
{
case Offen = 'offen';
case Bezahlt = 'bezahlt';
case Storniert = 'storniert';
}
final class Rechnung
{
public function __construct(
public readonly string $nummer,
public readonly int $betragInCent,
public readonly Status $status = Status::Offen,
) {}
public function istOffen(): bool
{
return $this->status === Status::Offen;
}
}
Altlasten
Woran alter PHP-Code beim Umstieg scheitert
Wer eine bestehende Anwendung auf PHP 8 bringt, merkt schnell, wie sehr sich die Sprache verändert hat. Ein Beispiel aus dem offiziellen Release-Text von PHP 8.0: Der lose Vergleich einer Zahl mit einem Text, etwa 0 == 'foobar', ergab vor PHP 8 wahr und ergibt seitdem falsch. Alter Code, der Eingaben aus Formularen lose mit Zahlen vergleicht, verhält sich nach dem Wechsel anders, ohne dass eine Fehlermeldung erscheint. Solche Stellen findet eine statische Analyse oder eine Suche nach losen Vergleichen, bevor sie in der Produktion auffallen.
Das zeigt die zwei Seiten der Frage. Die Sprache ist moderner geworden, und gerade deshalb sagt alter PHP-Code wenig über die Sprache; er ist ein Wartungsthema. Wie ein solcher Wechsel bei Laravel-Anwendungen geplant wird, beschreibt Laravel-Upgrade planen.
Grenzen
Wo andere Sprachen besser passen
PHP ist für das Web gebaut: Eine Anfrage kommt herein, die Anwendung baut die Antwort, danach wird alles verworfen. Dieses Modell ist robust und lässt sich gut auf mehrere Server verteilen. Es passt weniger gut zu Aufgaben, die anders funktionieren:
Datenanalyse und maschinelles Lernen: Die Bibliotheken dafür sind in Python zu Hause. PHP kann solche Dienste aufrufen, sollte sie aber nicht nachbauen.
Sehr viele dauerhaft offene Verbindungen: Chats, Live-Daten oder Spiele mit Zehntausenden gleichzeitigen Verbindungen sind die Stärke von Sprachen wie Go, Elixir oder Node.js. Laravel deckt mit Octane und Reverb viele Fälle ab, bei dieser Größenordnung würden wir den Teil trotzdem gesondert betrachten.
Native Apps: Apps für iPhone und Android entstehen in Swift oder Kotlin. PHP liefert dafür die Schnittstelle im Hintergrund.
Oberflächen im Browser: JavaScript oder TypeScript braucht es für interaktive Oberflächen ohnehin, unabhängig von der Sprache auf dem Server.
Das Modell mit einer frischen Anwendung pro Anfrage hat einen Preis: Bei jeder Anfrage wird das Framework neu geladen. Mit OPcache, das kompilierten Code im Speicher hält, fällt das bei den meisten Websites kaum ins Gewicht. Wo es um viele tausend Anfragen pro Minute geht, hält Laravel Octane die Anwendung zwischen den Anfragen im Speicher, wahlweise mit FrankenPHP, Swoole oder RoadRunner als Server. Das spart Ladezeit, verlangt aber Disziplin im Code: Was eine Anfrage in einer statischen Variable ablegt, sieht sonst die nächste. Für die meisten Geschäftsanwendungen ist dieser Schritt nicht nötig, er ist eine Option für später.
Ein Projekt besteht oft aus mehreren dieser Teile. Dann lautet die Frage, welche Sprache welchen Teil übernimmt.
Entscheidung
Was das für Ihre Projektwahl heißt
Für Websites, Kundenportale, interne Werkzeuge, Shops und Plattformen mit Formularen, Rechten und Datenbanken ist PHP eine sehr gute Wahl. Drei Gründe sprechen dabei für die Sprache, die mit Technik wenig zu tun haben:
Fachkräfte und Dienstleister: Laut W3Techs ist PHP seit Jahren die häufigste serverseitige Sprache bei Websites, deren Sprache bekannt ist. Entsprechend groß ist der Markt an Entwicklern.
Hosting: PHP läuft bei praktisch jedem Hoster in Deutschland, von Hetzner über IONOS und Strato bis Mittwald und all-inkl. Ein Wechsel des Hosters ist damit leichter als bei Sprachen mit speziellen Laufzeitumgebungen.
Bekannte Software: Viele Systeme, die deutsche Unternehmen täglich nutzen, sind in PHP geschrieben, etwa TYPO3, Shopware, Nextcloud, WordPress und MediaWiki, die Software hinter Wikipedia.
Zur Planung gehört auch der Takt: Jede PHP-Version wird vier Jahre gepflegt, Termine und Folgen stehen unter PHP 8.2 Supportende. Eine Anwendung, die zehn Jahre laufen soll, wechselt in dieser Zeit mehrmals PHP-Version und Framework, und das gehört als fester Posten in die Wartung.
Wie das über ein Jahrzehnt aussieht, zeigt die Website von REVONEER, einem Ingenieurbüro, für das wir seit Februar 2016 arbeiten. Sie hat seitdem mehrere Technik-Generationen durchlaufen und läuft inzwischen auf aktuellen Versionen von Statamic, Laravel und PHP, ohne dass die Marke dafür neu anfangen musste. Laut Projektseite ziehen wir sie konsequent auf den aktuellen Stand, statt sie auf der Technik vom Launch stehen zu lassen.
Die Wahl der Sprache ist nur die erste Entscheidung. Für neue Anwendungen setzen wir auf Laravel. Laravel nutzt selbst eine Reihe von Symfony-Komponenten, die beiden Frameworks sind also enger verwandt, als ihre Lager vermuten lassen. Wann welches Framework passt, vergleicht die Seite Laravel oder Symfony. Wie wir von den ersten PHP-Projekten 2004 zu Laravel gekommen sind, erzählt unsere Geschichte. Erste Schritte mit KI-Funktionen in aktuellem Laravel zeigt Laravel 13 AI SDK.
Kurz beantwortet
Häufige Fragen
-
Die neueste Version ist PHP 8.5, erschienen am 20.11.2025. Für neue Projekte empfehlen sich PHP 8.4 oder 8.5, weil beide noch mehrere Jahre Sicherheitsupdates bekommen. Die genauen Termine stehen auf php.net unter Supported Versions.
-
Die Sprache selbst ist so sicher wie andere verbreitete Sprachen, solange eine unterstützte Version läuft. Die meisten Sicherheitslücken in PHP-Anwendungen stecken in eigenem Code oder in veralteten Erweiterungen, etwa fehlender Prüfung von Eingaben. Frameworks wie Laravel bringen Schutz gegen die häufigsten Angriffe mit, regelmäßige Updates bleiben trotzdem Pflicht.
Die passende Grundlage wählen
Nennen Sie uns die Teile Ihres Vorhabens. Wir ordnen jedem die passende Sprache zu, auch wenn das für einen Teil nicht PHP heißt.
Nachweise
Quellen und Stand
Stand: 13.08.2026. Versionen, Termine und Leistungsangaben laut den Release-Seiten und der Supportübersicht auf php.net, Verbreitung laut W3Techs, Laufzeitumgebungen laut Laravel-Dokumentation, Projektangaben laut Projektseite REVONEER.
Artikel teilen