Leidenschaftliche Web-Entwicklerin.
Was ist PHP? Was bedeutet die Abkürzung PHP und wofür ist PHP sinnvoll? Wir klären alle Fragen rund um die Programmiersprache.
Inhaltsverzeichnis
PHP wurde 1995 vom grönländischen Rasmus Lerdorf entwickelt. Lerdorf nutzte wider Willen für seine damalige Webseite eine Reihe an einzelnen CGI Programmen (Common Gateway Interface). Aus der Not heraus erstellte er eine Bibliothek aus eben diesen CGI Programmen und einen Parser für HTML Dateien. Daraus entstand die erste Version PHP/FI – Personal Hompage Tool/Forms Interpreter. Heute steht die Abkürzung PHP für PHP Hypertext Preprocessor, ein Akronym, und ist bereits in Version 8 verfügbar.
Bei PHP handelt es sich um eine Skriptsprache. Skriptsprachen zeichnen sich durch die Ausführung des Quelltext über einen Interpreter aus. Da Skriptsprachen wie PHP ursprünglich für eher kleinere Anwendungen gedacht waren verzichten diese häufig auf komplexe Sprachelemente. PHP beispielsweise besaß lange Zeit keine Variablen Deklaration, und hatte damit eine schwache Typisierung. Die Syntax von PHP ist an C und Perl angelehnt.
Als Open Source Software ist PHP unter der gleichnamigen PHP Lizenz verfügbar. Diese ist nicht mit der GNU General Public License kompatibel. Mit der PHP Lizenz wird das Verändern und Weiterentwickeln des Quelltexts gewährleistet. Es ist aber zu beachten, dass unter anderem der Copyright-Vermerk und der Haftungsausschuss im Quelltext bestehen bleiben müssen. Der Name PHP darf nur äußerst eingeschränkt verwendet werden und es muss deutlich erkennbar sein, dass die Weiterentwicklung auf der Software der PHP Group basiert.
Im Laufe der Jahre wurden immer wieder Änderungen durch Lerdorf, die PHP Group und Zend Technologies an PHP durchgeführt. Die PHP Group heißt heute PHP Family und ist ein in Bangladesh ansässiges Konglomerat aus mehreren Firmen. Die beiden Gründer von Zend Technologies, Andi Gutmans und Zeev Suraski, waren maßgeblich an der Version PHP 3 beteiligt. Mit dieser Version kam eine komplette Überarbeitung der Sprache und Zend entwickelte eine eigene Engine, die seitdem fester Bestandteil von PHP ist. Mit PHP 7 wurde auch die Engine erstmals umfassend umgebaut und verbessert, und läuft nun unter dem Namen PHPNG (Next Generation).
PHP ist eine seit 1995 bestehende Skriptsprache, die auf einer Open Source Lizenz, der PHP-Lizenz, zur Verfügung steht. Bis heute entwickelt sich PHP stetig weiter und erhielt einige Generalüberholungen um zukunftssicher zu bleiben.
PHP besitzt eine breite Datenbank-Unterstützung. So gut wie jede heute verwendete Datenbank wird somit von PHP unterstützt und kann in der Anwendung verwendet werden. Außerdem bindet PHP auch Internet-Protokolle ein und bietet zahlreiche Funktionsbibliotheken. Dadurch eignet sich PHP hervorragend für dynamische Webseiten und komplexe Webanwendungen.
Da sich PHP auch sehr leicht in HTML einbinden lässt, ist die Skriptsprache auch äußert leicht zu implementieren. Ein Beispiel für das einbetten von PHP-Code in eine HTML Datei:
<!DOCTYPE html> <html> <head> <title>Beispiel</title> </head> <body> <?php echo "Hallo Welt!"; ?> </body> </html>
PHP interpretiert lediglich die Anweisungen innerhalb der Anfangs-(<?php) und Ende-Tags (?>). Dadurch sind komplexe Verschachtelungen von PHP-Code und HTML möglich. Aber nur solange die Syntax sowohl von PHP wie auch von HTML bei der Verschachtelung eingehalten werden. So lässt sich ein aufwendiges Script vermeiden, bei dem PHP-Anweisungen HTML ausgeben müssen.
Durch eine komplexe Vermischung von PHP und HTML werden Anwendungen jedoch schwer wartbar. Deshalb lösen heutige Frameworks durch sogenannte Templating-Sprachen, wie etwa Blade oder Twig, das Wartungsdilemma. Damit können Logik und Darstellung besser getrennt werden.
Die Programmiersprache PHP bietet universalen Support und kann mit allen gängigen Datenbanken verwendet werden. Das einfache Einbetten der Sprache in HTML-Code ermöglicht dynamische Inhalte für Webseiten.
Der PHP-Code wird serverseitig verarbeitet. Sobald der PHP-Quelltext interpretiert wird, geschieht dies auf dem verwendeten Webserver. Dann erst wird das Produkt des Interpreters an den Webbrowser verschickt. Wobei das Produkt in Form einer HTML-Datei, einer Grafik, einem PDF oder eines anderen Dateitypen übermittelt werden kann.
Um diese dynamischen Inhalte zu generieren, reicht das Laden statischer Dateien vom Webserver alleine nicht aus. Während früher CGI verwendet wurde, verzichtet man heute darauf. Denn CGI ist vor allem bei äußerst dynamischen Webseiten, wie man sie heutzutage antrifft, nicht mehr zeitgemäß und zu langsam.
Abgelöst wurde es durch Module in gängigen Webservern, wie dem Apache Webserver. Auf dem Apache Webserver findet sich das Modul mod_php, welches die Ausführung von PHP übernimmt. Ein anderer Ansatz arbeitet mit der Unabhängigkeit vom verwendeten Webserver. Dieser benötigt kein Modul, sondern kommuniziert über ein Protokoll Namens FastCGI mit einem eigenen PHP-Anwendungsserver. Dieser trägt den Namen php-fpm und läuft unabhängig von dem verwendeten Webserver im Hintergrund und wird beispielsweise bei NGINX verwendet.
Lesetipp: Webserver im Vergleich: Apache vs. NGINX
In der Entwicklung von Webseiten und Webawendungen ist PHP weit verbreitet. Dadurch sind bereits viele unterschiedliche Pakete entstanden. Diese bestehen aus ausgewählten Anwendungen, die sich für die Entwicklung dynamischer Webseiten eignen. Die bekanntesten Pakete nennen sich LAMP, MAMP, WAMP oder XAMPP.
XAMPP steht für die Aufzählung: Cross plattform (X), Apache Webserver, MariaDB, Perl und PHP. Hierbei handelt es sich um einen Stack der lediglich zum Testen der Webanwendungen dienen sollte. Die anderen drei stellen alle den Apache Webserver, die Datenbank MySQL/MariaDB und die Programmiersprache PHP zur Verfügung. Je nach Betriebssystem ändert sich der erste Buchstabe des Stacks, wobei „L“ für Linux, „M“ für macOS und „W“ für Windows steht.
Lesetipp: WordPress lokal auf Mac OS installieren
Die PHP Data Objects-Erweiterung (PDO) stellt eine Schnittstelle bereit, welche die Nutzung von Datenbanken enorm vereinfacht. Wie bereits erwähnt, lässt sich nahe zu jede Datenbank mit PHP verwenden. Die PDO sorgt für eine einheitliche Schnittstelle zwischen PHP und den Datenbanken. Wird eine Datenbank in PHP integriert, so kann diese bereits vorhandene Funktionen verwenden um die eigenen Features abzubilden. Einige Beispiele für von PHP unterstützte Datenbanken sind MySQL und MariaDB, MongoDB, PostgreSQL und SQLite.
Auch, wenn PHP anfangs keine Objektorientierung unterstützte, wurde dies über die Jahre tiefgreifend implementiert und stetig erweitert. Da man in der Entwicklung heute nicht mehr wirklich ohne Objektorientierung arbeiten kann und möchte, ist die Implementierung dieser besonders seit PHP 5 große Priorität gewesen. Mittlerweile stehen alle gängigen Funktionen der Objektorientierung zur Verfügung. Darunter Klassen, Objekte, Vererbung, Interfaces, Zugriffsmodifikatoren, Traits und vieles mehr. Auch, wenn einige Systemfunktionen in der Basis keinen objektorientierten Ansatz unterstützen, bauen aktuelle Frameworks zu 100% auf Objektorientierung auf.
Das Parsen von XML-Dateien wird mit Hilfe einer Schnittstelle, dem DOM (Dokumenten-Objekt-Modell), bereitgestellt. Das DO-Modell sorgt für die bekannte Baumstruktur einer XML- oder auch einer HTML-Datei. Durch den XML Parser lässt sich eine vorhandene XML-Datei einlesen (XMLReader) oder aber auch eine nicht vorhandene XML-Datei erstellen (XMLWriter). Die verwendete Bibliothek nennt sich libxml.
PHP besitzt einen eigenen Parser für das JSON-Datenformat. Einfache Funktionen zur Verarbeitung von JSON sind implementiert, sowie vordefinierte Konstanten und Exceptions. Die JSON-Funktion json_decode dekodiert einen JSON-String zu einem passenden PHP-Typen, während json_encode einen Wert in der JSON-Repräsentation wiedergibt (in Form eines String). Dies ist besonders deswegen wichtig, da PHP oft in Verwendung mit JavaScript verwendet wird. Mit Hilfe der JSON-Schnittstelle können so Informationen einfach zwischen den beiden Sprachen übertragen werden.
Die Kommunikation für Mailserver wird durch die Bibliothek php-imap gewährleistet. Unterstützt werden dabei die Protokolle IMAP, POP3 und NNTP. Das Versenden und Lesen von E-Mails wird ebenfalls bereitgestellt.
Die serverseitige Programmierung ist das Erkennungsmerkmal von PHP. Besonders attraktiv ist die breite Unterstützung verschiedenster Datenbanksysteme, welche ganz einfach integriert werden können. Objektorientierung und JSON-Support sind für die immer komplexeren und äußerst dynamischen Webseiten nicht mehr wegzudenken.
Wie viele andere Programmiersprachen verfügt auch PHP über zahlreiche Frameworks, die relevante Funktionen und Konzepte bündeln und zur Verfügung stellen. Ein Framework hilft Entwicklern dabei, alltägliche Aufgaben zu vereinfachen. So implementieren viele Frameworks etwa Request Handling, Middlewares, Routing, Command Queues und Database Models.
Zu den ältesten und bekanntesten Frameworks zählen symfony, CakePHP und Zend Framework. Das Yii!-Framework ist auf dem asiatischen Markt stark verbreitet. Eher jung ist hingegen das Framework Laravel, welches erst seit 2011 auf der Bildfläche erschienen ist und auf Teile von symfony aufbaut. Trotz des jungen Alters ist Laravel mittlerweile jedoch das am meisten verbreitete PHP-Framework. Das liegt besonders daran, dass Laravel durch seine Einfachheit und Nutzerfreundlichkeit besticht.
Neben Frameworks gibt es auch viele CMS, die mit PHP entwickelt wurden. Darunter zählen etwa WordPress oder Joomla!. Ein Content Management System zeichnet sich dadurch aus, dass es ein Nutzer-Interface bereit stellt, worüber sich Inhalte – etwa Websites oder Blogs – ohne die Verwendung von PHP-Code entwickeln lassen. Natürlich lassen sich diese aber durch PHP flexibel erweitern.
PHP kann auf viele Frameworks zurückgreifen, welche die Entwicklung von Webanwendungen vereinfachen. Das meist genutzte Framework ist trotz des jungen Alters Laravel. Sehr bekannt ist PHP vor allem durch den Einsatz im CMS WordPress, welches hinter Millionen von Websites steckt.
Spannende Artikel und Infos zum Thema
Sie benötigen eine WordPress Agentur? Wir stehen als Ihre Experten zur Verfügung. Treten Sie mit uns in Kontakt und vereinbaren Sie ein unverbindliches Beratungsgespräch.
Das Content-Management-System WordPress basiert auf PHP, einer der gängigsten Programmiersprachen im Web. Ohne PHP funktioniert WordPress nicht. Umso wichtiger ist es somit, dass nicht...
mehr lesen
Die Sprache einer Website wird vielfach durch HTML-Tags übermittelt. Diese werden als HTML Sprachcodes bezeichnet und bestehen aus zwei Kleinbuchstaben. Festgelegt werden die HTML...
mehr lesen
Das WordPress Command Line Interface (kurz WP-CLI) bietet für alle, die mit dem Content Management System (CMS) WordPress arbeiten, einige Funktionen und kann dazu...
mehr lesen
Pagebuilder Plugin für WordPress funktionieren nach einem einfachen und zudem komfortablen Prinzip. Kinderleicht kann man damit eine Webseite aufbauen – oft sogar per Drag...
mehr lesen
Was bedeutet TTFB? Als TTFB bezeichnet man die Zeit, die zwischen dem Aufruf einer Webseite und dem ersten vom Server…
Was ist Apache? Apache ist ein Open Source Webserver der Apache Software Foundation, welcher kostenfrei downloadbar und quellfrei ist. Da…
Was sind Kapitälchen? Als Kapitälchen werden Großbuchstaben bezeichnet, die verkleinert dargestellt werden. In der Typografie werden sie genutzt, wenn nicht…