Zum Inhalt springen
DedicatedPHP Kontakt

Die Entwicklung von PHP als Programmiersprache von Version 1 bis 8

Erfahren Sie, wie sich die Programmiersprache PHP entwickelt hat.

Die Entwicklung von PHP als Programmiersprache von Version 1 bis 8

PHP, kurz für Hypertext Preprocessor, ist eine serverseitige Skriptsprache. Sie wird hauptsächlich für die Webentwicklung eingesetzt und wurde 1995 von Rasmus Lerdorf erstmals veröffentlicht. Seitdem sind zahlreiche PHP-Versionen erschienen, die jeweils bedeutende Verbesserungen und Änderungen mit sich brachten. Betrachten wir die Entwicklung von PHP von seinen Anfängen bis hin zu PHP 8, der letzten bekannten Version (Stand: September 2021).

PHP-Versionen und wichtige Änderungen

PHP/FI (Personal Home Page / Forms Interpreter) 1.0 (Veröffentlicht 1995)

Die erste Version von PHP, damals noch als PHP/FI bekannt, wurde von Rasmus Lerdorf entwickelt. PHP bestand zu dieser Zeit aus einer einfachen Sammlung von CGI-Perl-Skripten, die Lerdorf bei der Pflege seines Lebenslaufs und der Datenerfassung unterstützten. Erst als Lerdorf diese Skripte mit C kombinierte und so PHP/FI entwickelte, wurde PHP zu einem Produkt, das auch von anderen genutzt werden konnte.

PHP/FI 2.0 (Veröffentlicht 1997)

PHP/FI Version 2 führte eine Reihe von Funktionen ein, die die Grundlage für die zukünftige Entwicklung von PHP bildeten. Zu diesen Funktionen gehörten die Unterstützung von Formularen und Cookies sowie die Möglichkeit, PHP-Code direkt in HTML einzubetten.

PHP 3 (Veröffentlicht im Jahr 1998)

PHP 3, entwickelt von Andi Gutmans und Zeev Suraski, brachte eine grundlegende Überarbeitung der Sprache mit sich und etablierte die meisten der heute bekannten Syntaxkonventionen. Es enthielt erstmals Unterstützung für Objekte und war die erste Version, die wirklich wie eine vollständige Programmiersprache wirkte.

PHP 4 (Veröffentlicht im Jahr 2000)

Mit PHP Version 4 wurde die Zend-Engine eingeführt, eine Software zur Interpretation von PHP-Code. Dies führte zu einer verbesserten Performance sowie zu einer besseren Unterstützung für objektorientierte Programmierung. Außerdem enthielt sie Funktionen wie Session-Persistenz und Ausgabepufferung.

PHP5

PHP 5 brachte bedeutende Verbesserungen für die objektorientierte Programmierung mit sich, darunter die Einführung abstrakter Klassen, Schnittstellen, Objektklonierung und Ausnahmen. Außerdem wurde die Unterstützung für XML verbessert und SQLite eingeführt.

PHP 5.0 (Veröffentlicht im Juli 2004)

  • Verbesserungen in der objektorientierten Programmierung : Es wurde ein vollständiges Objektmodell eingeführt, das Zugriffsmodifikatoren, Schnittstellen, Klonen und Ausnahmen umfasst.
  • Verbesserte XML-Verarbeitung : Die SimpleXML-Erweiterung wurde hinzugefügt, um die Handhabung von XML zu vereinfachen.
  • SQLite: SQLite, eine leichtgewichtige SQL-Datenbank-Engine, wurde mitgeliefert. in PHP standardmäßig.

PHP 5.1 (Veröffentlicht im November 2005)

  • PDO-Unterstützung (PHP Data Objects): Bietet eine Schnittstelle für den Zugriff auf Datenbanken in PHP.
  • Leistungsverbesserungen : Beinhaltet die Hinzufügung eines Garbage Collectors zur Beendigung von Referenzzyklen.

PHP 5.2 (Veröffentlicht im November 2006)

  • Einführung von filter_list() Hilft dabei, Daten auf sichere Weise zu validieren und zu filtern.
  • Leistungs- und Stabilitätsverbesserungen : Beinhaltet das Update der PCRE-Bibliothek, wodurch Kompatibilität und Leistung verbessert wurden.

PHP 5.3 (Veröffentlicht im Juni 2009)

  • Namensräume Sie ermöglichen eine bessere Organisation des Codes in Paketen.
  • Späte statische Bindungen : Verbessert die Codevererbung in PHP.
  • Closures (anonyme Funktionen) Funktionen können nun ohne spezifischen Namen erstellt werden.
  • Verbesserungen bei der Ausnahmebehandlung Es wird die Möglichkeit eingeführt, mehrere Catch-Ausnahmen zu verwenden.
  • Unterstützung für verschachtelte ternäre Ausdrücke ohne die Notwendigkeit von Klammern.

PHP 5.4 (Veröffentlicht im März 2012)

  • Eigenschaften : Ermöglicht die Wiederverwendung von Code in Programmiersprachen mit einem einzigen Vorfahren, eine Art Mehrfachvererbung.
  • Syntax für kurze Arrays Es ist nun möglich, Arrays mit eckigen Klammern [] zu deklarieren, anstatt die Funktion array() zu verwenden.
  • Verbesserte Speicherverwaltung : Reduziert den gesamten Speicherverbrauch.

PHP 5.5 (Veröffentlicht im Juni 2013)

  • Generatoren : Ermöglicht die einfache Erstellung von Iteratoren, ohne dass die Iterator-Schnittstelle implementiert werden muss.
  • Schließlich das Schlüsselwort : Hilft dabei sicherzustellen, dass ein Codeabschnitt immer ausgeführt wird, unabhängig davon, ob eine Ausnahme ausgelöst wird.
  • Unterstützung für Listen in foreach.

PHP 5.6 (Veröffentlicht im August 2014)

  • Argumentenanalyse : Ermöglicht die Verwendung von ... zum Entpacken von Argumenten aus einem Array oder einem Traversable-Objekt.
  • Verwenden Sie Funktionen und Konstanten. : Importiert Funktionen und Konstanten in einen Namensraum.
  • GMP-Verbesserungen : Ermöglicht die Verwendung von GMP-Nummern in Funktionen, die ganze Zahlen oder Zeichenketten akzeptieren.
  • Sicherheitsverbesserungen Unterstützung für Public-Key-Signaturzertifikate wurde hinzugefügt.

PHP 7 (Veröffentlicht 2015)

Mit PHP 7 wurde dank der Einführung der Just-in-Time-Kompilierung (JIT) ein enormer Leistungssprung erzielt. Zu den weiteren Funktionen gehören Rückgabetypen, die Deklaration von Skalartypen, der Null-Merge-Operator und die Möglichkeit, konstante Arrays mit `define()` zu definieren.

PHP 7.0 (Veröffentlicht im Dezember 2015)

  • Leistungsverbesserung Die neue PHPNG-Engine (Zend Engine 3) verbessert die Leistung, reduziert den Speicherverbrauch und erleichtert die Fehlerbehandlung.
  • Rückgabetypdeklarationen Diese Funktion ermöglicht es Ihnen, den Typ des Wertes anzugeben, den eine Funktion zurückgeben soll.
  • Skalartypdeklarationen : Ermöglicht das Erzwingen des Parametertyps in Funktionen (int, float, string, bool).
  • Nullfusionsoperator (??) Dieser Operator vereinfacht die Prüfung auf Nullwerte.
  • Raumschiffoperator (<=>) : Eingeführt, um den Vergleich zwischen zwei Ausdrücken zu erleichtern.

PHP 7.1 (Veröffentlicht im Dezember 2016)

  • Nullable-Typen Es ist zulässig anzugeben, dass der Rückgabewert einer Funktion von einem bestimmten Typ oder null sein kann.
  • Leere Funktionen Der Typ void wird für Funktionen eingeführt, die nichts zurückgeben.
  • Klassenkonstante Sichtbarkeit Sie können nun Klassenkonstanten als public, private oder protected definieren.
  • Iterierbarer Pseudotyp Geben Sie den iterierbaren Typ für die Parameter und die Rückgabetypen der Funktionen an.

PHP 7.2 (Veröffentlicht im November 2017)

  • Libsodium Diese Bibliothek für moderne und sichere Kryptographie ist jetzt standardmäßig enthalten.
  • Typerweiterungen : Der Typ "object" wurde hinzugefügt und die Verwendung abstrakter Typen in Parametertypen und Rückgabetypdeklarationen ermöglicht.

PHP 7.3 (Veröffentlicht im Dezember 2018)

  • Nachfolgende Kommas in Funktionsaufrufen Nachgestellte Kommas sind in Funktionsaufrufen zulässig.
  • Geschwindigkeitsverbesserung von JSON-Code Die Leistung der Funktionen json_encode() und json_decode() wurde verbessert.
  • GC-Verbesserungen : Führt Verbesserungen am Garbage Collector ein, was zu einem geringeren Speicherverbrauch führt.

PHP 7.4 (Veröffentlicht im November 2019)

  • Pfeilfunktionen Diese Funktion ermöglicht die Erstellung anonymer Funktionen auf eine prägnantere Weise.
  • Typisierte Eigenschaften : Klasseneigenschaften können nun deklarierte Typen haben.
  • Entpacken innerhalb von Arrays Diese Funktion ermöglicht das Entpacken von Arrays innerhalb anderer Arrays.
  • Schwache Referenzen : Ermöglicht das Beibehalten von Referenzen auf Objekte, ohne zu verhindern, dass diese vom Garbage Collector zerstört werden.

PHP 8 (Veröffentlicht 2020)

PHP Version 8 brachte eine Reihe spannender Neuerungen mit sich, darunter die Just-In-Time-Kompilierung (JIT), die die Performance weiter verbessert. Außerdem wurden Union-Datentypen, Vergleichsausdrücke, der Nullsafe-Operator, benannte Argumente und Attribute sowie viele weitere Funktionen hinzugefügt.

Und wo bleibt Version 6?

Die PHP-6-Version existierte tatsächlich als Projekt, aber wurde nie offiziell veröffentlicht Das Hauptziel von PHP 6 war die Bereitstellung nativer Unterstützung für Unicode, einen Standard, der die Textverarbeitung in jeder Sprache der Welt ermöglicht.

Die Entwickler stießen jedoch auf eine Reihe von Problemen Probleme während der Entwicklung Die vollständige Implementierung der Unicode-Unterstützung im PHP-Kern erwies sich als deutlich schwieriger als erwartet. Zudem war die Performance der Vorabversion von PHP 6 mit Unicode merklich geringer.

Aufgrund dieser Schwierigkeiten und der Entwicklungsverzögerung wurde das PHP-6-Projekt schließlich aufgegeben. Um Verwechslungen mit dem gescheiterten PHP-6-Projekt zu vermeiden, beschlossen die Entwickler, die Zahl 6 bei der Benennung der nächsten Hauptversion von PHP auszulassen. Daher hieß die nächste Hauptversion nach PHP 5.6 PHP 7.0.

PHP 7 übernahm viele der für PHP 6 geplanten Funktionen, enthielt aber keine native Unicode-Unterstützung im Sprachkern. Stattdessen konzentrierte sich PHP 7 auf Leistungsverbesserungen und die Hinzufügung neuer Funktionen.

Sprechen wir über die Leistung, lohnt sich ein Upgrade?

Die Weiterentwicklung der Programmiersprache hat nicht nur neue Funktionalitäten hervorgebracht, sondern es wurde auch besonderer Wert auf die Verbesserung der Leistungsfähigkeit mit jeder Version gelegt:

  • PHP/FI 2.0 - Niedrig Es wurde nicht auf Leistung optimiert, da der Schwerpunkt auf Formularfunktionen und der Interaktion mit Datenbanken lag.
  • PHP 3 - Verbessert gegenüber PHP/FI 2.0. Die Neuentwicklung der PHP-Engine ermöglichte eine Steigerung von Leistung und Effizienz.
  • PHP 4 - Verbessert gegenüber PHP 3. Die Einführung der Zend-Engine sorgte für eine weitere Leistungssteigerung.
  • PHP 5.0 - Ähnlich wie PHP 4. Obwohl es deutliche Verbesserungen in der objektorientierten Programmierung und der XML-Unterstützung enthielt, war die Leistung ähnlich wie bei PHP 4.
  • PHP 5.1 - 5.6 - Mit jeder kleineren Version verbessert, insbesondere durch Leistungsoptimierungen und Verbesserungen bei der Speicherbereinigung.
  • PHP 7.0 - Deutlich verbessert gegenüber PHP 5.X dank der Einführung der Zend Engine 3. Die Leistung von PHP 7.0 könnte für viele Anwendungen doppelt oder dreimal so hoch sein wie die von PHP 5.6.
  • PHP 7.1 - 7.4 - Jede kleinere Version brachte Leistungsverbesserungen mit sich, wenn auch nicht so drastisch wie der Sprung von PHP 5.6 zu PHP 7.0.
  • PHP 8.0 - Verbessert gegenüber PHP 7.4. Die Hinzufügung der Just-In-Time (JIT)-Kompilierung kann die Leistung in bestimmten Fällen verbessern, obwohl die Verbesserung für typische Webanwendungen möglicherweise nicht signifikant ist.

Und die Sicherheit? Was können Sie mir dazu sagen?

PHP/FI 2.0 - PHP 3

  • In diesen frühen Versionen spielte Sicherheit keine große Rolle und viele Sicherheitsfunktionen waren nicht enthalten.

PHP4

  • Mit PHP 4 wurde der safe_mode eingeführt, der bestimmte Arten von Angriffen verhindern sollte. Er erwies sich jedoch letztendlich als ineffektiv und wurde in PHP 5.4 als veraltet markiert und entfernt.

PHP5

PHP 5 führte eine Reihe von Sicherheitsverbesserungen ein:

  • Magic Quotes: Eingeführt, um SQL-Injection-Angriffe zu verhindern, wurde jedoch wegen inkonsistenten Verhaltens kritisiert und schließlich in PHP 5.3 standardmäßig deaktiviert und in PHP 5.4 entfernt.
  • Verbesserungen bei der Fehlerbehandlung: PHP 5 führte Ausnahmen ein, die die Fehlerbehandlung verbessern und dazu beitragen können, die Offenlegung sensibler Informationen zu verhindern.
  • PDO (PHP Data Objects): Eingeführt in PHP 5.1, bietet es eine Schnittstelle für den Zugriff auf Datenbanken, die vorbereitete Abfragen enthält, welche dazu beitragen können, SQL-Injection zu verhindern.

PHP 5.2

  • Input Filter: Mit PHP 5.2 wurde die Filter-Erweiterung eingeführt, die die Validierung und Filterung von Eingabedaten auf sichere und konsistente Weise ermöglicht.

PHP 5.3

  • PHAR (PHP-Archiv): Mit PHP 5.3 wurde die Unterstützung für PHAR eingeführt, eine Möglichkeit, ganze PHP-Anwendungen in einem einzigen Archiv zu verpacken. Obwohl PHAR selbst keine Sicherheitsverbesserung darstellt, beinhaltet es verschiedene Sicherheitsmaßnahmen zum Schutz vor Angriffen, wie beispielsweise die Möglichkeit zur Validierung digitaler Signaturen.

PHP 5.6

  • Verbesserung der SSL/TLS-Sicherheit: PHP 5.6 führte die Unterstützung für Public-Key-Signaturzertifikate und Verbesserungen an den Standard-SSL/TLS-Einstellungen ein.

PHP 7

PHP 7 hat mehrere veraltete und potenziell unsichere Funktionen und Features deaktiviert oder entfernt:

  • Mehrere unsichere Hash-Funktionen, wie z. B. crypt() und hash(), wurden entfernt.
  • Die automatische Deserialisierung wurde deaktiviert, um eine Sicherheitslücke durch Objektinjektion zu verhindern.
  • Um ausnutzbare Typfehler zu vermeiden, wurden Typdeklarationen und Rückgabetypdeklarationen eingeführt.

PHP 7.2

  • Verbesserung der Passwortsicherheit: PHP 7.2 führte die Funktion password_hash() mit Unterstützung für Argon2 ein, einen sichereren Passwort-Hashing-Algorithmus.

PHP 8

PHP 8 führte nicht viele neue Sicherheitsfunktionen ein, sondern setzte den Trend von PHP 7 fort, veraltete und potenziell unsichere Funktionen zu entfernen oder zu deaktivieren.

Abschluss

Ein Upgrade auf die neueste PHP-Version bietet oft mehrere Vorteile Erstens beinhalten Aktualisierungen oft Folgendes: Leistungsverbesserungen Dadurch können Ihre Webanwendungen schneller laufen. Zweitens enthalten neuere Versionen oft neue Funktionen Das kann den Code effizienter und einfacher zu schreiben und zu warten machen. Drittens enthalten neuere PHP-Versionen oft Sicherheitsverbesserungen, die … Schützen Sie Ihre Anwendung gegen Angriffe und Sicherheitslücken.

Es ist jedoch auch wichtig zu beachten, dass ein Upgrade auf eine neue PHP-Version folgende Auswirkungen haben kann: Herausforderungen Vorhandener Code muss möglicherweise überarbeitet oder refaktoriert werden, um neue Funktionen zu unterstützen oder deaktivierte bzw. entfernte Funktionen zu vermeiden. In jedem Fall ist die Aktualisierung von PHP ein wesentlicher Bestandteil des Betriebs einer solchen Anwendung. sichere, leistungsstarke Webanwendung .

Möchten Sie diese Ideen in Ihrem Projekt anwenden?Lass uns über deine PHP-Plattform sprechen.
Verwandten Dienst anzeigen