PHP

PHP ist eine weit verbreitete Open-Source-Skriptsprache, die speziell für die Webentwicklung konzipiert wurde.
Ein PHP Entwicklungsteam einer Agentur programmiert eine Website
© luckybusiness

Was ist PHP?

PHP steht für Hypertext Preprocessor (ursprünglich Personal Homepage Tools) und ist eine Open-Source-Skriptsprache, welche speziell für die Programmierung von dynamischen Websites und Webanwendungen (Web Apps) geeignet ist.

PHP lässt sich auf allen gängigen Betriebssystemen – wie z.B. Microsoft Windows, macOS, Linux und vielen Unix-Varianten – verwenden. Zudem unterstützt PHP auch zahlreiche aktuell relevante Webserver, wie z.B. Microsoft Internet Information Server (IIS), Apache, Netscape- und iPlanet-Server, Personal Web Server, Caudium, Xitami und viele weitere.

So wird dem Nutzer die Freiheit gegeben, PHP auf dem Betriebssystem und dem Webserver seiner Wahl laufen zu lassen.

Doch die vermeintlich größte Stärke von PHP ist seine Unterstützung zahlreicher Datenbanken. Dies wird mit Hilfe von Datenbankerweiterungen, einer Extension zur Datenbankabstraktion (PDO) und der Unterstützung von Open Database Connection Standard (ODBC) ermöglicht. Die verbleibenden Datenbanken können cURL oder sockets verwenden.

Wie funktioniert PHP?

Im Gegensatz zu clientseitigen Programmiersprachen wie Javascript, die auf Seite des Webbrowsers (dem Client) ausgeführt werden, wird der PHP-Code durch einen sog. Interpreter auf dem Webserver ausgeführt und als HTML-Ausgabe wieder an den Client gesendet.

Demnach erhält der Client also nur das Ergebnis der Skriptausführung, ohne zu erfahren, wie der Code tatsächlich aussieht.

Falls jedoch eine PHP-Datei als Webanwendung ausgeführt werden soll, wird ein System benötigt, welches die in der Datei enthaltenen Anweisungen korrekt bearbeiten kann.

In diesem Fall wird der Interpreter – mit Hilfe einer Schnittstelle, wie Common Gateway Interface (CGI) oder Internet Server API (ISAPI) – von einem Server-Dienst oder Server-Daemon, wie Microsoft IIS oder Apache ausgeführt.

Hierbei werden die Kombinationen von den bestimmten Betriebssystemen Windows, macOS oder Linux mit dem Webserver Apache, dem Datenbanksystem MySQL und PHP respektiv als WAMP (für Windows), MAMP (für macOS) oder LAMP (für Linux) bezeichnet.

Geschichte von PHP

Frühe Geschichte

Die Entwicklung von PHP begann 1994, als Rasmus Lerdorf mehrere CGIs Programme in der Programmiersprache C, welche noch bis heute für die Entwicklung von PHP genutzt wird, schrieb, die er zur Instandhaltung seiner eigenen Homepage nutzte.

Er erweiterte diese, um seinem Programm die Fähigkeiten zu verleihen, mit Webformularen arbeiten und mit Datenbanken kommunizieren zu können. Diese Implementierung nannte er dann Personal Home Page/Forms Interpreter, kurz PHP/FI.

Um das Melden von Bugs zu beschleunigen und den Code zu verbessern, veröffentlichte Lerdorf sein Werk als Personal Home Page Tools (PHP Tools) 1.0 im Jahr 1995.

Diese Version besaß bereits die Grundfunktionalitäten, welche PHP bis heute besitzt, was z.B. Perl-ähnliche Variablen und das Integrieren von HTML beinhaltet. Die Syntax ähnelte der von Perl, auch wenn sie einfacher, eingeschränkter und weniger konsistent war.

Schon bald formte sich ein Entwicklerteam, welches 1997 PHP/FI 2 veröffentlichte.

PHP 3 und 4

Schon im selben Jahr schrieben Zeev Suraski und Andi Gutmans den Parser, ein Programm, was für die syntaktische Analyse verantwortlich ist, um und formten so die Basis für PHP 3 und änderten den Namen der Sprache auf das heute bekannte PHP: Hypertext Preprocessor. Die offizielle Veröffentlichung kam im Jahr 1998.

Im Jahr 2000 wurde PHP 4 veröffentlicht, welche auf der Zend Engine 1.0 lief, die von den beiden Entwicklern im Jahr zuvor entwickelt wurde.

PHP 5

PHP 5 wurde 2004 veröffentlicht und basierte auf der Zend Engine II.

Eine Reihe neuer Features wurden inkludiert, wie die verbesserte Unterstützung für objektorientiertes Programmieren, die PHP Data Objects (PDO) Extension und zahlreichen Performanceverbesserungen.

Die späte statische Bindung (Late static binding) wurde mit der PHP Version 5.3.0 implementiert, welche das Referenzieren aufgerufener Klassen im Kontext statischer Vererbung ermöglicht.

Nach der von einem Konsortium von PHP Entwicklern initiierten GoPHP5 Initiative begannen namhafte open-source Projekte ihre Unterstützung von PHP 4 einzustellen.

PHP 6

Durch den fehlenden Unicode Support wurde 2005 ein Projekt eingeleitet, das dieser Anforderung gerecht werden soll.

Allerdings fanden sich nicht genügend Entwickler, welche die Problematik und die nötigen Veränderungen erkannten, sodass das Projekt sich immer weiter verzögerte.

So konnten Subversionen von PHP 5 die vorherigen Probleme Stück für Stück eliminieren, was die Entwicklung von PHP 6 nichtig machte.

Letztendlich wurde das Projekt 2010 aufgegeben.

PHP 7

In den Jahren 2014 und 2015 wurde eine weitere wesentliche PHP Version entwickelt, die unter dem Namen PHP 7 bekannt wurde.

Die Namensgebung dieses Projektes stellte jedoch einige Probleme dar. Obwohl das PHP 6 Unicode Experiment nie veröffentlicht wurde, erwähnten trotzdem einige Artikel und Bücher diesen Namen, was zu Verwirrung hätte führen können, falls dieser Name für das neue Projekt wiederverwendet werden würde.

Nach einer Abstimmung innerhalb der Entwickler einigte man sich also auf den Namen PHP 7.

Die neuen Verbesserungen gingen mit der überarbeiteten Zend Engine, welche darauf Zend Engine 3 betitelt wurde, einher.

Diese Verbesserungen beinhalteten unter anderem die Implementierung von Hashtabellen,eine Datenstruktur, welche für schnelle Zugriffe konzipiert ist, weniger Speicherplatzverbrauch, Engine-Exceptions, welche für das Handling bestimmter Ereignisse, die speziell verarbeitet werden müssen, verantwortlich sind, anonyme Klassen und CSPRNG-Funktionen (kryptographisch sicherer Zufallszahlengenerator).

Weitere Subversionen sorgten für mehr Klarheit und verbesserten die Performance.

Hauptanwendungen

Serverseitige Programmierung

Die serverseitige Programmierung ist der Bereich, in dem PHP am häufigsten benutzt wird.

Hierfür werden die folgenden drei Tools benötigt:

  1. Den PHP-Parser (CGI oder Server-Modul)
  2. Webserver mit Verbindung zu einer PHP-Installation
  3. Webbrowser, der die Ausgabe des PHP-Programms anzeigt

Kommandozeilenprogrammierung

Es besteht jedoch auch die Möglichkeit mittels der Eingabezeile, PHP-Skripte zu schreiben, welche keinen Server oder Browser benötigen. Lediglich der PHP-Parser wird dafür angefordert.

Diese Art der Nutzung ist am besten für Programme, welche für gewöhnlich über cron (auf z.B. Linux) oder dem Task Scheduler (auf Windows) ausgeführt werden, oder für die Ausführung einfacher Textprozessierung geeignet.

PHP bei TenMedia

TenMedia ist eine dynamische Internetagentur direkt im Herzen Berlins. Wir haben uns seit 2011 auf die technische Entwicklung von Websites, Online-Portalen, Onlineshops, Apps und Cloud Software spezialisiert.

Neben unseren eigenen Projekten entwickeln wir maßgeschneiderte Web- und Software-Lösungen genau nach Kundenauftrag und verwenden dafür modernste Technologien. Je nach Vorhaben setzt die Webagentur Berlin individuell das für das Projekt passendste Framework, CMS und Programmiersprachen wie beispielsweise Java, JavaScript, PHP, Python, Ruby, SQL, Swift und viele weitere ein.