what is php

Was ist PHP? Warum PHP lernen und verstehen sich lohnt

Hast du dich auch schon einmal gefragt “Was ist PHP eigentlich?”. Den Begriff hast du sicherlich zumindest einmal gelesen oder gehört. Meine Erfahrung zeigt, dass meist trotzdem wenig Vorstellung davon vorhanden ist, was PHP ist und wie es funktioniert. Dieser Artikel soll diese Wissenslücke füllen und hilft dir weiter, wenn das Thema PHP neu für dich ist und du noch wenig technisches Wissen besitzt.

In erster Linie ist PHP eine Skriptsprache. Sie wurde 1995 entwickelt und hieß ursprünglich “Personal Home Page Tools”. Heutzutage wird sie als “Hypertext Preprocessor” bezeichnet, was auch eine sinnvollere Bezeichnung ist, denn PHP generiert serverseitig Input für HTML – durch PHP wird HTML also dynamisch.

PHP gehört mit HTML, CSS und JavaScript zu den Standardsprachen im Internet. Die meisten Leute kommen beim Bau ihrer Website nur um PHP herum, weil es Content Management Systeme (CMS) wie WordPress gibt, welche den PHP Teil als gebrauchsfertige Lösung bieten. Mit PHP erlernst du aber die Fähigkeit, dein CMS (und somit insbesondere auch WordPress) auf beliebige Weise zu modifizieren. Dies kann in Form der Datei functions.php geschehen oder in Form eines Plugins. Wenn du dich bereits ein wenig mit WordPress auseinandergesetzt hast, wirst du sicher schon bemerkt haben, dass die Verwendung von Plugins deine Website in vielerlei Hinsicht erweitern kann.

PHP Versionen

php supported versions
Quelle: php.net (Stand: März 2022)

Die aktuellste Version von PHP ist 8.1. Auf der offiziellen PHP Website kannst du einsehen, welche PHP Versionen noch aktiv supportet werden und welche nicht. Einige Hoster bieten PHP 8 noch nicht für Kundenwebsites an. Das liegt daran, dass diese PHP Version noch nicht hundertprozentig mit WordPress bzw. nicht mit allen WordPress Plugins kompatibel ist.

Beim WordPress Hosting mit Raidboxes kannst du mit nur einem Klick die PHP Version deiner Website umstellen – auch PHP 8 und PHP 8.1 stehen dir zur Verfügung. Wie du eine neue PHP-Version richtig testest, erklären wir dir in unserem Helpcenter. Wenn du weitere Fragen dazu hast, melde dich gerne über den Live-Chat.

Allgemeine Konzepte in PHP

Als Bindeglied zur Datenbank werden klassischerweise Benutzereingaben wie Formulardaten mit PHP verarbeitet und die Inhalte serverseitig weiterverwendet, beziehungsweise direkt in die Datenbank eingetragen. Wenn du auf deiner Website beispielsweise ein Kontaktformular hast, wird die Verarbeitung einer Anfrage sicherlich über PHP geschehen. 

PHP Dateien können per include Befehl in andere PHP Dateien integriert werden. Dies ist nützlich, um redundanten Code zu vermeiden und bestimmte Funktionalitäten zu trennen. Das Debugging ist hierdurch natürlich auch einfacher. Auch wenn das gleiche Element auf mehreren Seiten verwendet werden soll, ist das nützlich: beispielsweise beim Header.

PHP – eine serverseitige Sprache

Eine Eigenart von PHP ist: Skripte werden grundsätzlich immer auf dem Server ausgeführt. Wenn du ein PHP Skript geschrieben hast, lädst du die Datei auf deinen Server und kannst sie dann über deinen Webbrowser mittels Pfadangabe dort aufrufen. Also nach dem Muster “Adresse des Servers”/Unterordner/dateiname.php. Wenn du in der Adresszeile deines Browsers schaust, sind viele Websites mit der Endung .html versehen, das funktioniert aber auch mit .php Dateien.

Der Server muss natürlich auch PHP fähig sein, das heißt der PHP Interpreter muss installiert sein. Bei heutigen Webservern ist das aber der Standard.

Das bedeutet auch: Willst du PHP entwickeln, musst du entweder Zugriff auf die Dateistruktur auf deinem Webserver haben (per FTP) oder du richtest dir zur Entwicklung einen lokalen Server mit PHP ein. Dafür gibt es unter anderem das sehr bekannte Paket XAMPP, welches genau für diese Zwecke entworfen wurde und alles beinhaltet, was du für die lokale Entwicklung benötigst.

Wenn du auf deiner Website etwa eine Zufallszahl darstellen willst, erzeugst du diese in einem PHP Skript. HTML ist nämlich nicht in der Lage, so eine Operation alleine durchzuführen. Im folgenden Beispiel wird eine Zufallszahl zwischen 1 und 5 auf deiner Website ausgegeben: 

what is php code example

Dieses Beispiel demonstriert, dass hierbei Abschnitte geschrieben werden, die entweder aus PHP Code oder aus HTML Code bestehen und vom Server entsprechend interpretiert werden. PHP Code wird immer von den beiden Tags “<?php” und “?>” umschlossen. Alles, was sich außerhalb dieser Tags befindet, ist HTML Code und wird vom Server nur gesendet, aber nicht verarbeitet. Du verwendest die PHP Tags aber beim Schreiben des Codes genau so, wie du HTML Tags verwendest.

Dateiendung

Sobald du auch nur eine Zeile mit PHP Code ausführen willst, muss die Dateiendung .php statt .html sein. Es wird nur PHP Code ausgeführt, der auch in .php Dateien liegt! Deswegen solltest du auf die Dateiendung achten, wenn du PHP verwendest.

Der Server führt beim Laden der Datei das Skript aus, hieraus entstehen in den meisten Fällen Werte für Variablen, die in irgendeiner Weise mit HTML auf der endgültigen Website angezeigt werden.

Ich mache dasselbe nun mit JavaScript:

what is php code example

Auch JavaScript erzeugt Dynamik auf einer Website. Der große Unterschied besteht darin, dass die Zufallszahl in PHP nur vom Server erzeugt werden kann und dass der Browser vom Server auch nur das Endergebnis erhält. Vom Prozess dahinter bekommt der Browser nichts mit. Schaust du dir den Quellcode der Seite an, steht da eine Zahl im HTML Code, wie man sie auch manuell hätte eintragen können. JavaScript wird dagegen clientseitig (das heißt im Browser) ausgeführt. Deshalb kannst du dir den JavaScript Quellcode einer Seite auch im Browser ansehen.

PHP wirkt auf viele etwas chaotisch, weil es sich so mit HTML schachtelt. Hier gibt es sogenannte Template Engines, die den PHP Code vom HTML “trennen”, wie zum Beispiel Smarty, wenn man sich tiefer mit PHP beschäftigen möchte. Wenn du PHP lediglich im WordPress Kontext verwenden möchtest, ist so etwas aber nicht notwendig.

Datentypen in PHP

PHP ist eine schwach typisierte Sprache. Das bedeutet simpel ausgedrückt, dass der PHP Interpreter selbst herausfindet, um welchen Datentyp es sich bei einer Variable handelt. In anderen, stark typisierten Sprachen wie beispielsweise Java müssen im Normalfall die Datentypen für jede Variable von der Person am Computer direkt angegeben werden, damit das Programm überhaupt ausführbar wird. In PHP reicht eine simple Zuweisung, wie das folgende Beispiel demonstriert:

what is php code example

An dieser Stelle ist es eigentlich nur wichtig zu verstehen, dass PHP den Datentyp im Normalfall automatisch festlegt. Der Datentyp einer Variable kann aber mittels Typecast auch manuell im Code umgewandelt werden. Dies folgt bestimmten Regeln und Einschränkungen. Leider sprengt das den Rahmen dieses Artikels – wenn du mehr darüber lesen willst, empfehle ich dir diesen Artikel auf der offiziellen PHP Website.

Kurz gesagt, der PHP Interpreter erkennt alle Inhalte als entsprechende Datentypen. Das ist sehr bequem und benutzerfreundlich, aber natürlich auch eine mögliche Fehlerquelle. Meine Erfahrung mit PHP bisher ist aber, dass es eher selten zu diesbezüglichen Fehlern kommt.

Objekte und Klassen in PHP

Mit einer Klasse können bestimmte Objekte beschrieben werden. Dies geschieht über Attribute, das sind die Eigenschaften eines Objekts. Mit Methoden kann bestimmtes Verhalten des Objekts dargestellt werden – anders ausgedrückt stellt sich hier die Frage “Was kann mein Objekt?”

Bei der Erstellung von Objekten gehst du immer gleich vor: Beschreibe das Objekt allgemein als Klasse mittels Attributen und Methoden und erzeuge dann an der benötigten Stelle in deinem Code eine Instanz dieser Klasse. Objektorientierung ist anfangs oft schwer zu verstehen, deshalb erkläre ich das kurz am Beispiel eines Balls:

what is php code example

Dieser Teil wird als feste Definition in der Datei ball.php gespeichert. An dieser Stelle wurde nur definiert, was ein Ball (standardmäßig) ist und was er kann, noch existiert kein Ball-Objekt in deinem Code. Der Ball wird immer an der Stelle (oder in der Datei) erzeugt, an der er benötigt wird.

what is php code example

Nun hast du einen roten Ball mit einem Durchmesser von 20 cm erstellt. Willst du den blauen Standardball mit 30 cm erstellen, genügt das Instanziieren des Objekts mit 

what is php code example

Um zu überprüfen, welchen Durchmesser der Ball hat, könntest du noch dies hinzufügen: 

what is php code example

Rufst du diese PHP Datei mittels Browser nun auf deinem Server auf, wird der Durchmesser des Balls als Zahl ausgegeben.

Was du mit diesem Ball jetzt anfängst, liegt an dir. Möchtest du, dass der Ball grafisch dargestellt wird und zwei Leute ihn hin und her kicken? Möchtest du, dass der Ball ein dynamisches Styleelement auf deiner Website wird? Willst du dem Ball über sogenannte Methoden bestimmtes Verhalten zuweisen, dass er zum Beispiel rollen kann oder gekickt werden kann? Es gibt viele Möglichkeiten! Da dieser Artikel nur einen Einstieg bieten soll, empfehle ich hier weiterzulesen. Objektorientierung ist ein eigenes, großes Thema.

Arrays in PHP

Falls du Arrays noch nicht kennst: Sie sind wie Tabellen, bei denen zu einem bestimmten Schlüssel ein bestimmter Inhalt zugeordnet wird. Auf diesen Inhalt kann über den Schlüssel zugegriffen werden. Das ist ungefähr so, wie wenn du eine Liste mit Zahlen schreibst und dich fragst “Was ist die dritte Zahl in der Zahlenliste?” Die Antwort darauf wäre die Zahl an der dritten Stelle. Oder anders gesagt: der Inhalt der Zeile mit Schlüssel 3.

Auch Arrays funktionieren in PHP ein wenig anders als in anderen Sprachen – diese sind nämlich in Form einer sogenannten Map implementiert. Um es wieder mit Java zu vergleichen: in Java braucht ein Array einen Schlüssel in Form einer Zahl, beispielsweise myLittleArray[5]. Hierbei werden die “Zeilen” beginnend mit 0 einfach hochgezählt. In PHP werden dagegen Strings als Schlüssel benutzt, um Begriffe zum Inhalt zuordnen zu können. Für mehr Details und Beispiele kannst du dich hier umschauen.

*“ zeigt erforderliche Felder an

Consent*
Dieses Feld dient zur Validierung und sollte nicht verändert werden.

PHP in WordPress

Auch WordPress funktioniert mittels PHP. Die meisten Plugins sind selbst in PHP geschrieben und greifen über PHP auf das Backend und die Datenbank von WordPress zu. Details hierzu kannst du in der offiziellen WordPress Dokumentation lesen. WordPress wurde so entworfen, dass für die Grundfunktionalität absolut keine PHP Kenntnisse gefordert sind. PHP ist aber für nahezu jede individuelle Anpassung notwendig.

PHP Fehlersuche

Fehler treten in jeder Programmiersprache auf, deswegen muss eine Art Fehlersuche in jeder Sprache durchgeführt werden. PHP bietet dafür eine Reihe komfortabler Funktionen.

error_log

Diese Zeile ermöglicht die Fehlersuche durch Server Logs – hierfür brauchst du aber Zugriff auf die Dateistruktur des Servers (üblicherweise per FTP). Wenn du keinen Zugriff auf den Server hast, musst du Fehlermeldungen auf der Website anzeigen lassen, was meistens eher unerwünscht ist. Bei PHP Fehlern wird der Browser eventuell auch nur eine leere Seite anzeigen – PHP Fehler sind deswegen umso gravierender für deine Website. Falls du WordPress verwendest, kann dir hier WP Debug helfen.

Es lässt sich auch hier wieder ein Unterschied zwischen JavaScript und PHP feststellen: Wenn dein JavaScript Code einen Fehler enthält, wird eventuell nur ein einzelnes Element nicht funktionieren. Wenn das PHP Skript Fehler enthält, siehst du im Normalfall nichts außer einem weißen Bildschirm (außer du hast die Fehlermeldungen auf der Website aktiviert).

In PHP Dateien kann es übrigens zu Fehlern führen, wenn ganz am Ende das Tag ?> stehen gelassen wird. Das Tag ?> sollte weggelassen werden, falls die Datei nur aus PHP Code besteht.

Fazit

PHP ist eine etwas kompliziertere Sprache. Das Lernen lohnt sich allerdings – zumindest wenn du mehr machen möchtest als nur vorgefertigte WordPress Themes und Plugins zu nutzen. Oder auch, wenn du mit JavaScript, HTML und CSS an die Grenzen stößt. Wenn du dein WordPress Theme verändern möchtest oder selbst Plugins schreiben willst, kommst du nicht um PHP herum. Auch für alle Angelegenheiten mit der Datenbank brauchst du PHP – dazu sogar noch SQL, zumindest wenn du beim Standard bleiben willst. Es bietet sich ein Tutorial an, falls du PHP lernen möchtest.

Deine Fragen zu PHP

Welche Fragen an Patrick hast du? Nutze gerne die Kommentarfunktion. Du willst über neue Beiträge zum Thema WordPress und Webdesign informiert werden? Dann folge uns auf TwitterFacebookLinkedIn oder über unseren Newsletter.

Hat dir der Artikel gefallen?

Mit deiner Bewertung hilfst du uns, unsere Inhalte noch weiter zu verbessern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.