PHP im Jahr 2025: Was gibt es Neues? Ein vollständiger Leitfaden für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

PHP im Jahr 2025: Was gibt es Neues? Ein vollständiger Leitfaden für Anfänger

\n\n

Viele denken, PHP sei eine Sprache von gestern. Im Jahr 2025 ist PHP jedoch nicht nur lebendig, sondern entwickelt sich aktiv weiter, integriert moderne Konzepte aus anderen Sprachen und bleibt die Grundlage für 77% aller Websites im Internet (einschließlich WordPress, Laravel und Symfony). In diesem Artikel analysieren wir die wichtigsten Neuerungen von PHP im Jahr 2025, die es schneller, sicherer und benutzerfreundlicher für angehende Entwickler machen.

\n\n

1. Fibers – leichtgewichtige Nebenläufigkeit

\n\n

Die wichtigste Neuerung der letzten PHP-Versionen sind Fibers. Sie ermöglichen asynchronen Code ohne komplexe Callback-Funktionen und Bibliotheken wie ReactPHP. Fibers sind leichtgewichtige Ausführungsstränge, die pausiert und wieder aufgenommen werden können.

\n\n

Wie funktioniert das? Stellen Sie sich vor, Sie bereiten das Frühstück zu: Sie stellen den Wasserkocher an, und während er kocht, schneiden Sie Brot. Fibers machen dasselbe mit Code.

\n\n
<?php\n// Beispiel für einen Fiber in PHP 8.4+\n$fiber = new Fiber(function(): void {\n    echo "Start des Fibers\\n";\n    Fiber::suspend(); // Pause\n    echo "Fortsetzung des Fibers\\n";\n});\n\necho "Hauptthread\\n";\n$fiber->start(); // Start\necho "Nach dem Start\\n";\n$fiber->resume(); // Wiederaufnahme\n?>\n
\n\n

Ausgabe:

\n
Hauptthread\nStart des Fibers\nNach dem Start\nFortsetzung des Fibers\n
\n\n

Für Anfänger: Fibers ermöglichen es, mehrere Aufgaben gleichzeitig auszuführen, ohne den Server zu blockieren. Zum Beispiel mehrere HTTP-Anfragen zu bearbeiten oder Datenbankabfragen parallel durchzuführen.

\n\n

2. Verbesserte Typisierung und readonly-Eigenschaften

\n\n

PHP 2025 ist strenger bei Datentypen geworden. Dies reduziert die Anzahl der Fehler und macht den Code verständlicher.

\n\n

Readonly-Eigenschaften

\n

Eigenschaften, die nur einmal (bei der Objekterstellung) gesetzt werden können. Ein Versuch, sie zu ändern, führt zu einem Fehler.

\n\n
<?php\nclass User {\n    public readonly string $name;\n    public readonly int $age;\n\n    public function __construct(string $name, int $age) {\n        $this->name = $name;\n        $this->age = $age;\n    }\n}\n\n$user = new User("Ivan", 25);\n// $user->name = "Petr"; // Fehler! readonly-Eigenschaft kann nicht geändert werden\n?>\n
\n\n

Typisierte Parameter und Rückgabewerte

\n

Jetzt können nicht nur einfache Typen (int, string), sondern auch Union-Typen (mehrere Typen durch |) angegeben werden.

\n\n
<?php\nfunction getDiscount(string|int $code): float|int {\n    if (is_string($code)) {\n        return 10.5; // Prozent\n    }\n    return $code; // fester Betrag\n}\n\necho getDiscount("SUMMER"); // 10.5\necho getDiscount(500);      // 500\n?>\n
\n\n

Warum ist das für Anfänger wichtig? IDEs (PhpStorm, VS Code) geben bessere Typvorschläge, und Fehler werden bereits in der Entwicklungsphase erkannt, nicht erst in der Produktion.

\n\n

3. Leistung: JIT-Compiler 2.0

\n\n

In PHP 8.0 wurde der JIT (Just-In-Time-Compiler) eingeführt, aber im Jahr 2025 wurde er erheblich verbessert. Jetzt wird PHP-Code während der Ausführung in Maschinencode kompiliert, was bei rechenintensiven Aufgaben eine Geschwindigkeitssteigerung von bis zu 30-50% bringt.

\n\n

Geschwindigkeitsvergleich (hypothetischer Test):

\n\n
<?php\n// Alte langsame Schleife (PHP 7.x)\n$start = microtime(true);\n$sum = 0;\nfor ($i = 0; $i < 1000000; $i++) {\n    $sum += sqrt($i);\n}\necho "Zeit: " . (microtime(true) - $start);\n?>\n
\n\n

In PHP 2025 mit JIT wird dieser Code 1,5- bis 2-mal schneller ausgeführt. Für Webanwendungen bedeutet dies schnellere Seitenladezeiten und geringeren Serverressourcenverbrauch.

\n\n

Wie aktiviert man JIT?

\n

Fügen Sie in php.ini hinzu:

\n
opcache.jit = tracing\nopcache.jit_buffer_size = 100M\n
\n\n

4. Neue Möglichkeiten für die Arbeit mit Arrays und Strings

\n\n

In PHP 2025 wurden einige syntaktische "Zucker" hinzugefügt, die alltägliche Aufgaben vereinfachen.

\n\n

Destrukturierung von Arrays

Blogs

Buchempfehlungen