
PHP: Versionsgeschichte
Facebook, CNBC, NASA, Wikipedia, Business Insider, Harvard University... dies sind nur einige Beispiele für Websites, die auf PHP gebaut wurden – die beliebteste Programmiersprache, die von 82 % der Websites verwendet wird. Kontinuierliche Entwicklung und eine große Community machen PHP zur Wahl etwa von Start-ups, die PHP als die perfekte Lösung betrachten, sowie von großen Unternehmen und Institutionen auf der ganzen Welt. Im folgenden Text beschreibe ich, wie alles begann und wie sich die aufeinanderfolgenden Versionen im Laufe der Jahre verändert haben.
Der Autor der ersten Version von PHP ist Rasmus Lerdorf. Es wurde 1994 als eine Sammlung von Perl-Skripten erstellt, um die Internetnutzer zu überwachen, die die Website besuchen und Lerdorfs Lebenslauf ansehen. Bald stellte sich heraus, dass zu viel Verkehr eine Reaktion des Programmierers erforderte, also verwendete er in den weiteren Arbeiten die C-Sprache und fügte neue Optionen hinzu. Das Interesse wurde stärker und die Menschen baten darum, diese Tools für ihre eigenen Zwecke nutzen zu können, was 1995 zur Veröffentlichung der Personal Home Page Tools führte. Rasmus Lerdorf ließ jedoch nicht nach – er fügte den mSQL-Service zu PHP hinzu und kombinierte ihn mit einem Form Interpreter. So erblickte PHP/FI das Licht der Welt, und 1997 wurde seine Version 2.0 veröffentlicht, die bereits mehrere tausend Benutzer hatte und etwa 50.000 Domains unterstützte. Seitdem begann sich PHP/FI dynamisch zu entwickeln.
PHP 3
1997 entschieden sich die israelischen Programmierer Zeev Suraski und Andi Gutmans, die Arbeit an der PHP-Sprache fortzusetzen. Sie stellten fest, dass PHP/FI den Anforderungen der zu dieser Zeit entwickelten eCommerce-Anwendung nicht gut genug gewachsen war. Also beschlossen sie, den Code von Grund auf neu zu schreiben, entwickelten eine neue Architektur und kündigten 1998 die neue Version an.
In PHP 3 tauchten die Grundlagen der objektorientierten Programmierung auf, aber das herausragendste Merkmal war seine Modularität, also die Möglichkeit, die PHP-Funktionalität durch das Hinzufügen neuer Module durch die Benutzer zu erweitern.
Darüber hinaus begann PHP 3, verschiedene Datenbanken zu unterstützen: mSQL, MySQL, PostgreSQL. Nach Meinung vieler Programmierer waren die eingebetteten Elemente viel einfacher zu handhaben, als separate HTML- und CGI-Dateien zu erstellen. All dies machte die Gesamtleistung von Websites erheblich optimiert und die Verwaltung großer Websites effizienter, da die Website-Komponenten in einer einzigen HTML-Datei gesammelt wurden.
PHP 4
Die erwähnte Modularität und die Frage der Effizienz beschäftigten jedoch weiterhin Suraski und Gutmans. Angetrieben vom Wunsch nach kontinuierlicher Verbesserung nahmen sie weitere Arbeiten am Quellcode auf.
So wurde 1999 offiziell die Zend Engine veröffentlicht – eine Skript-Engine, die zur Grundlage für die Entwicklung von PHP 4 wurde, das ein Jahr später gestartet wurde.
Innerhalb der nächsten vier Jahre wurden drei weitere Ausgaben veröffentlicht: 4.1, 4.2, 4.3, und jede von ihnen zeichnete sich durch verbesserte Sicherheit und Geschwindigkeit der Operationen aus.
Bei PHP 4 sollte zweifellos ein großer Schwerpunkt auf die erwähnte Zend Engine gelegt werden. Diese Open-Source-Skript-Engine, die die PHP-Programmiersprache interpretiert, ist in C als optimiertes modulares Back-End geschrieben. Wichtig dabei ist, dass es zum ersten Mal in Anwendungen außerhalb von PHP verwendet werden konnte. Die Engine verwaltet Speicher und Ressourcen, und ihre Leistung und Erweiterbarkeit hatten direkten Einfluss auf die Entwicklung nachfolgender PHP-Versionen.
PHP 5
Bei Version 5 sollte gesagt werden: "Quid pro quo". Das neue objektorientierte Programmiermodell, das entwickelt wurde, kostete etwas der Kompatibilität mit früheren PHP-Versionen. Natürlich ist dies kein wirklicher Nachteil von PHP 5, da die Module geändert wurden, einschließlich derer zur Bearbeitung von XML und zur Kommunikation mit der Datenbank.
Weitere bedeutende Änderungen waren: die Implementierung von XML-Funktionen in den Kernel der Anwendung, das komplette Umschreiben der MySQL-Erweiterung – eines der einfachsten, kostenlosen Open-Source-Datenbankprogramme, dessen Leistung in Kombination mit PHP 4 nicht großartig war, und in PHP 5 wurde die MySQL-Erweiterung optimiert, um mit MySQL 5.0 kompatibel zu sein. Es gab auch die __autoload ()-Funktion, die entwickelt wurde, um die Codierungszeit zu verkürzen und die Leistung der Website zu steigern. Die Funktionsweise von PHP im Windows-System wurde ebenfalls verbessert.
Im Jahr 2009 wurde PHP 5.3 veröffentlicht, aber bereits 2005 gab es Informationen, dass an der neuen Version gearbeitet wurde.
PHP 6
Unicode. Das Schlüsselwort, wenn von Version 6 die Rede ist. Das Ziel war es, veraltete Lösungen zu entfernen, die aus Zeiten von PHP/FI und PHP3 stammten, um die anhaltenden Kompatibilitätsprobleme zu beheben. Diese Änderungen standen im Zusammenhang mit der Implementierung von Verbesserungen am Objektmodell in der Unicode-Sprache.
Die Entwickler wollten native Unicode-Unterstützung zu PHP hinzufügen. Das Problem, mit dem sie konfrontiert waren, war jedoch der Mangel an Programmierern, die den Bedarf an diesen Änderungen sahen, sowie die Leistungsprobleme im Zusammenhang mit der Konvertierung von UTF-16 selbst.
Schließlich wurde im Jahr 2010 das Projekt in seiner derzeitigen Form offiziell aufgegeben und die PHP 5.4-Version ohne Berücksichtigung der Unicode-Funktionen von PHP 6 vorbereitet.
Die nie veröffentlichte Version 6 gilt als Misserfolg. Es überrascht daher nicht, dass die Initiative ergriffen wurde, die nächste Version zu erstellen.
PHP 7
Das Jahr 2014 gilt als der offizielle Start der Arbeiten an PHP 7. Die Grundlage der Version war ein experimenteller Zweig – PHPNG (PHP Next Generation), der entwickelt wurde, um die Leistung zu optimieren.
Die Entwickler haben sehr hart daran gearbeitet, den Code zu refaktorisieren, um den Speicherverbrauch zu reduzieren und die Leistung zu steigern. Ihr Ziel erreichten sie zweifelsohne. Benchmarks für PHP 7 zeigen eine doppelte Geschwindigkeit im Vergleich zu PHP 5.6 und einen 50 % geringeren Speicherverbrauch. Dies ist der unbestrittene Erfolg dieser Version.
Die Reduzierung des Speicherverbrauchs ermöglicht eine bessere Handhabung von Anfragen sowie die Möglichkeit, auf PHP basierende Microservices zu erstellen. Interne Änderungen schaffen auch Möglichkeiten für zukünftige Optimierungen, die die Leistung weiter steigern können. An dieser Stelle ist der JIT-Compiler zu betonen, der seinerseits in der neuesten PHP in voller Pracht erscheinen wird.
Es sollte beachtet werden, dass die Version Nummer 7 die Lesbarkeit des Codes durch die Einführung des Spaceship Operators verbessert hat. Es ist eine Kombination aller drei Tags, die in seiner Konstruktion verwendet werden, und je nachdem, welches zutrifft, gibt es einen anderen Wert zurück. Ein weiterer Operator, den Sie sich genauer ansehen sollten, ist der Null Coalesce Operator (??), der ebenfalls die Lesbarkeit erhöht und den Code kürzer macht. Der Operator prüft, ob ein NULL-Wert existiert, und gibt die linke Seite des Operators zurück, wenn nicht, und die rechte Seite, wenn ja.
Und schließlich das Thema der kritischen Fehler. In früheren Versionen war die Handhabung dieser Fehler ein Albtraum für Programmierer. Denn wenn ein solcher Fehler auftrat, fror das Skript anstatt die Fehlerbehandlung auszulösen ein – ein weißer Bildschirm erschien. PHP 7 ermöglicht es, die Ausnahme zu entfernen, wenn ein Fehler auftritt, aber es friert nicht mehr das gesamte Skript ein. Natürlich ermöglicht dies auch eine Verbesserung der Lesbarkeit des Codes. ParseError, TypeError, ArithmeticErrors und AssertionError – diese Fehler wurden in der Error-Sektion gesammelt, sodass sie jetzt Fehler in PHP 7 generieren und zuvor kritisch waren.
PHP 8
Die Veröffentlichung der neuesten Version wird am 26. November 2020 stattfinden. Es lohnt sich, zu lesen, was in PHP 8 neu ist, aber sicher kann man auf den JIT-Compiler verweisen, der bald zu einem nativen Teil der Sprache wird.
Zusammenfassung
Neben dem Programmieren umfasst das breite Spektrum der PHP-Entwicklungsdienstleistungen auch eine große Anzahl von Bibliotheken, die von der Community erstellt und unterstützt werden, sowie beliebte Frameworks: Drupal, Symfony oder Laravel, auf denen fortgeschrittene Projekte entwickelt werden können. In unserer Drupal-Agentur sind wir zuversichtlich, dass PHP weiterentwickelt wird und viele Jahre an der Spitze der für den Website-Aufbau verwendeten Sprachen stehen wird.