PHP im Wandel – über 20 Jahre Open-Source-Skriptsprache

Am 22. Juni 2017 erschien die PHP-Version 7.2.0. Alpha 2. Wir werfen aus diesem Anlass einen Blick zurück auf die Entwicklungsgeschichte der flexiblen Programmiersprache seit 1995. Die Veränderungen, die mit der Version 7.2 kommen, sind nicht einschneidend; anders war dies bei der Version 5.3.

Objektorientierung mit PHP 5.3

Eine große Veränderung von PHP fand zwischen den Versionen 5 und 5.3 statt. Die objektorientierte Program­mierung erhielt endlich Interfaces, Vererbung und Sichtbarkeits-Modifikatoren. Pass by reference wurde für Objekte zum Standard und Pointer-Konstrukte aus PHP 4 verschwanden.

PHP 7 etabliert UTF-8 als Standard

Während PHP 5.4, 5.5 und 5.6 den Entwicklern hauptsächlich neue Funktionen und Bugfixes brachten, stellte sich die nächs­te größere Veränderung erst mit PHP 7 ein. Der Zei­chensatz UTF-8 wird Standard und von den Kernfunktionen unterstützt. Viele Kon­ver­tie­rungen und Sonderregelungen sind damit nicht mehr nötig – ins­be­son­de­re für mehr­sprachige Weban­wen­dungen.

Namespaces, Traits, Closures, Interfaces – PHP wird strukturierter

Namespaces sind erst in PHP 7 häufiger genutzt worden, sodass umfangreiche Webanwendungen und Frameworks strukturierter und übersichtlicher arbeiten können.

Traits (Erweiterungen) für Klassen gibt es bereits seit PHP 5.4. Sie tauchten aber bisher nur selten in Frameworks und Anwendungen auf. Sie ermöglichen, die Beschränkung der einfachen Vererbung zu umgehen.

Mit Closures oder anonymen Funktionen bot PHP ein Feature, das durch Javascript schon sehr verbreitet war. Funktionen können als Parameter definiert und an andere Funktionen weitergereicht werden.

Verglichen damit sind Interfaces nichts Besonderes. Doch machen diese eine Anwendung übersichtlich und strukturiert.

PHP und die Magie im Hintergrund

Welche Änderungen zeichnen sich in PHP 7.2 ab?

PHP 7.2 setzt den eingeschlagenen Weg fort. Es zeichnen sich keine größeren Veränderungen ab. Der Wegfall der Erweiterung mcrypt wird voraussichtlich zu Kompatibilitätsproblemen bei älteren Webanwendungen führen.

Unterschätzt: PDOs seit PHP 5.1

Neben dem neuen Datenbankadapter erlaubt auch die mysqli-Schnittstelle eine Anbindung der Datenbank über Objekte und Klassen. Auch wenn prepared-Statements mittlerweile Standard sein sollten, tauchen immer wieder Anwendungen auf, die Eingaben ungesichert verarbeiten oder inzwischen veraltete mysql_ Funktionen nutzen.

Wo ist PHP 6?

PHP 6 gibt es nicht. Diese Version wurde übersprungen, da es sich nur um ein Experiment mit UTF-8 handelte.

Design Patterns wichtiger als einzelne Funktionen

 

Obwohl der Markt an PHP-Frameworks schon lange gefüllt ist, tauchen doch immer wieder neue Bibliotheken auf, lösen alte ab oder zeigen einen neuen Ansatz für bekannte Herausforderungen und Probleme.

Inzwischen ist die einzelne Klasse und Funktion unwichtiger geworden. Design-Patterns und Klassenkonstrukte wie Depency-Injection, Template-Engines, Objektmanager, Modulverwalter und MVC sind nun die Merkmale, die eine gute PHP-Anwendung herausstellen.

Kontaktieren Sie uns jetzt