Die Auswahl an Programmiersprachen ist groß. Manche tauchen dabei aus dem Nichts auf, Andere verschwinden mit der Zeit. Eine Programmiersprache, die besonders im Umfeld von Webapplikationen bedeutend ist, ist PHP. In diesem Beitrag möchte ich die Programmiersprache PHP Hypertext Preprocessor erklären und Beispeile zeigen, wie diese verwendet werden kann.

PHP Hypertext Preprocessor ist eine Skriptsprache zur dynamischen Erstellung von Webseiten sowie Webapplikationen. Es unterstützt eine Vielzahl an Datenbanken und verfügt über zahlreiche Funktionsbibliotheken. Seit der Veröffentlichung von PHP 1995 (Offiziell vom Entwickler Rasmus Lerdorf, damals noch Personal Home Page Tools (PHP1)) wurde der Kern der Sprache in PHP-Version 3 komplett neu geschrieben. Die Version 6 ist gescheitert und der Entwickler stimmten zu, die Versionsnummer mit der Einführung von PHP 7 zu überspringen. Die aktuelle Version 7.4 erschien im November 2019. PHP wurde Anfang 2016 auf ca. 244 Millionen Webseiten eingesetzt. Ende 2017 wurde die Programmiersprache auf 83 % aller Webseiten als serverseitige Programmiersprache verwendet.
 

Zum Installieren kann man sich das kombinierte Softwarepaket LAMP (für Linux), MAMP (für Mac OS X) oder WAMP (für Windows) herunterladen und installieren. Die Namen der Programme stehen hierbei als Akronym (Linux, Apache, MySQL und PHP).

XAMPP ist ein freies und vorgefertigtes Softwarepaket für alle 3 Betriebssysteme. Dafür enthält es anstatt MySQL das Datenbank-Managementsystem MariaDB, da es mehrere Features beinhaltet. Für den Einstieg macht es jedenfalls keinen Unterschied.

Funktionsweise

PHP Funktionsweise

Der Client Browser schickt beispielsweise eine Anfrage an to.com/index.php. Der Webserver lädt dann die Datei „index.php“ vom Speicher des Webservers und übergibt diese an den PHP-Interpreter. Der Interpreter erzeugt dann den Code zum Ausliefern (HTML, PDF, generierte Bilder etc.) und sendet diesen an den Client zurück.

Webanwendung

Um eine PHP-Datei in einer Webanwendung ausführen zu können, benötigt man ein System, welches mit den Anweisungen der Datei umgehen kann. Durch Schnittstellen wie ISAPI (Internet server API von Microsoft) oder CGI (Common Gateway Interface) wird dies ermöglicht. Diese Schnittstellen können dann vom Interpreter von einem Server-Dienst, wie Apache oder IIS (Microsoft Internet Information Services) ausgeführt werden. Ein Beispiel für eine CGI-Schnitttstelle könnte eine URL auf dem Webserver sein, womit man diesen herunterfahren kann.

PHP-Beschleuniger

Durch jeden Aufruf einer PHP-Seite wird der Webserver durch den Interpreter belastet, da jede ausgelieferte Seite für den Client durch diesen dynamisch erzeugt wird. Dadurch wird die Reaktionsgeschwindigkeit des Servers bei hoher Belastung durch mehrere Anfragen überlastet. Um dieses Problem bei hoher Auslastung entgegenzuwirken wird eine Technik verwendet, wobei Bytecode-Caches zur schnelleren Auslieferung helfen. Sobald man eine Seite aufruft, wird diese durch eine vorbereitete Version des Programms im Zwischenspeicher ausgeführt und beschleunigt somit den nächsten Aufruf.

Syntax Beispiel

$host = “localhost“;
$database = “nachrichten“;
$username = “kevin“;
$password = “hochsicherheitspasswort123“;

$mysqli = new mysqli($host, $username, $password, $database);

if (mysqli_connect_errno()) {
	printf("Connect failed: %s\n", mysqli_connect_error()); 
exit(); 
}

$news = "PHP";

if ($stmt = $mysqli->prepare("SELECT * FROM news WHERE Name=?")) {
    $stmt->bind_param("s", $news);
    $stmt->execute();
    $stmt->bind_result($result);
    $stmt->fetch();
    printf("Ausgabe: %s\n", $city, $result);
    $stmt->close();
}
$mysqli->close();

Hinweis: Bei dem Beispiel werden „prepared statements“ verwendet, um SQL Injections zu vermeiden. Für dieses Beispiel ist es nicht zwingend notwendig aber es ist besser sich dieses Muster anzugewöhnen. Hier ist der Link zur PHP Funktion.

Bei diesem kleinen Beispiel wird eine Verbindung durch MySQLi zur Datenbank hergestellt. Anschließend werden alle Datensätze vom Spaltenname „nachricht“ aus der Tabelle „news“ ausgegeben.

Die Nutzung von PHP Hypertext Preprocessor ist sowohl für Neueinsteiger, als auch für Nutzer mit ein wenig Erfahrung in der Verwendung von anderen Programmiersprachen recht einfach. Aber auch für professionelle Programmierer bietet PHP einen großen Funktionsumfang . Grundsätzlich sind Kenntisse von PHP von Vorteil, da dieses die Programmiersprache von vielen etablierten Content-Management-Systemen ist. Zur Konfiguration oder Erweiterung sind diese daher sehr nützlich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

CAPTCHA *