# Was ist PHP und was kann es?

## Was ist PHP?

PHP (rekursives Akronym für PHP: Hypertext Preprocessor) ist eine weit verbreitete und für den allgemeinen Gebrauch bestimmte Open Source-Skriptsprache, welche speziell für die Webprogrammierung geeignet ist und in HTML eingebettet werden kann.

Nett, aber was heißt das genau? Ein Beispiel:

Beispiel #1 Ein einführendes Beispiel

`<!DOCTYPE html>
<html>
<head>
<title>Beispiel</title>
</head>
<body>
<?php
echo "Hallo, ich bin ein PHP-Skript!";
?>
</body>
</html>`

Anstatt ein Programm mit vielen Anweisungen zur Ausgabe von HTML zu schreiben, schreibt man etwas HTML und bettet einige Anweisungen ein, die irgendetwas tun (wie hier Hallo, ich bin ein PHP-Skript! auszugeben). Der PHP-Code steht zwischen speziellen Anweisungen `<?php` und `?>` zum Starten und Beenden der Verarbeitung, mit denen in den PHP-Modus und zurück gewechselt werden kann.

PHP unterscheidet sich von clientseitigen Sprachen wie Javascript dadurch, dass der Code auf dem Server ausgeführt wird und dort HTML-Ausgaben generiert, die an den Client gesendet werden. Der Client erhält also nur das Ergebnis der Skriptausführung, ohne dass es möglich ist herauszufinden, wie der eigentliche Code aussieht. Ein Webserver kann auch so konfiguriert werden, dass alle HTML-Dateien mit PHP verarbeitet werden, und dann gibt es keine Möglichkeit mehr, zu erkennen, dass PHP verwendet wird.

Das Beste an der Verwendung von PHP ist, dass es für Neueinsteiger extrem einfach ist, aber auch einen riesigen Funktionsumfang für den professionellen Programmierer bietet. Scheuen Sie sich nicht, die lange Liste der PHP-Funktionen zu lesen. Mit PHP kann fast jeder sofort loslegen und in kürzester Zeit einfache Skripte schreiben.

Auch wenn die Entwicklung von PHP auf serverseitige Programmierung fokussiert ist, kann damit weitaus mehr gemacht werden. Lesen Sie weiter und erfahren Sie mehr im Abschnitt Was kann PHP? oder gehen Sie direkt zum Einführungstutorial, um direkt etwas über Webprogrammierung zu lernen.

# Was kann PHP?

Alles. PHP ist hauptsächlich auf serverseitige Skripte fokussiert, weshalb es alles kann, was auch ein anderes CGI-Programm kann, z. B. Formulardaten sammeln, dynamische Inhalte für Webseiten generieren oder Cookies senden und empfangen. Aber PHP kann noch viel mehr.

Es gibt zwei Hauptgebiete, in denen PHP-Skripte genutzt werden.

- Serverseitige Programmierung. Dies ist das meistgenutzte und wichtigste Einsatzgebiet von PHP. Damit das funktioniert, werden drei Dinge benötigt: der PHP-Parser (CGI oder Server-Modul), ein Webserver und ein Webbrowser. Alle diese Programme können auf einem lokalen Rechner ausgeführt werden, um ein wenig mit der PHP-Programmierung zu experimentieren. Weitere Informationen sind im Abschnitt über die Installation zu finden.
- Kommandozeilenprogrammierung. Ein PHP-Skript kann ohne Server oder Browser ausgeführt werden, dazu wird nur der PHP-Parser benötigt. Diese Art der Nutzung ist ideal für Programme, die regelmäßig mittels cron (unter Unix oder macOS) oder dem Task Scheduler (unter Windows) ausgeführt werden. Die Skripte können außerdem für einfache Aufgaben der Textverarbeitung verwendet werden. Weitere Informationen dazu sind im Abschnitt Nutzung von PHP auf der Kommandozeile zu finden.

PHP kann auf allen gängigen Betriebssystemen verwendet werden, inkl. Linux, vielen Unix-Varianten (inkl. HP-UX, Solaris und OpenBSD), Microsoft Windows, macOS, RISC OS und wahrscheinlich anderen. PHP unterstützt auch die meisten der heute gebräuchlichen Webserver. Dies umfasst Apache, IIS und viele andere. Dazu gehört auch jeder Webserver, der das PHP-Binary FastCGI verwenden kann, z. B. lighttpd und nginx. PHP kann entweder als Modul oder als CGI-Prozessor eingesetzt werden.

So haben Entwickler die Freiheit, PHP auf dem Betriebssystem und dem Webserver ihrer Wahl laufen zu lassen. Darüber hinaus kann je nach Vorliebe prozedural oder objektorientiert (OOP) programmiert werden oder eine Mischung aus beidem verwendet werden.

PHP ist nicht auf die Ausgabe von HTML beschränkt. Seine Fähigkeiten umfassen auch die Ausgabe komplexer Dateitypen wie Bilder oder PDF-Dateien, die Verschlüsselung von Daten und der Versand von E-Mails. Es kann auch problemlos jede Art von Text ausgeben, z. B. JSON oder XML. PHP kann diese Dateien automatisch generieren und im Dateisystem speichern, anstatt diese nur auszugeben. Auf diese Weise lässt sich ein serverseitiger Cache der dynamischen Inhalte erstellen.

Vielleicht die größte und bemerkenswerteste Stärke von PHP ist seine Unterstützung für eine große Auswahl von Datenbanken. Eine datenbankgestützte Website zu erstellen ist mithilfe einer der Datenbankerweiterungen (z. B. für MySQL) oder mit einer Abstraktionsschicht wie PDO unglaublich einfach. Oder man verbindet sich über die Erweiterung ODBC mit irgendeiner Datenbank, die den Open Database Connection Standard unterstützt. Andere Datenbanken können cURL oder sockets verwenden (z. B. CouchDB).

PHP unterstützt auch die Kommunikation mit anderen Services, welche Protokolle wie LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (auf Windows) und unzählige andere unterstützen. Es kann auch einfache Netzwerk-Sockets öffnen und unter Verwendung irgendeines anderen Protokolls kommunizieren. PHP unterstützt auch WDDX (Web Distributed Data Exchange) zum Austausch komplexer Daten zwischen Programmiersprachen. Da wir gerade vom Zusammenwirken sprechen: PHP unterstützt auch die Instantiierung von Java-Objekten und deren transparente Verwendung als PHP-Objekte.

PHP verfügt über hilfreiche Funktionen für die Textverarbeitung, von den regulären Ausdrücken (PCRE) bis zum Parsen von XML-Dokumenten. PHP vereinheitlicht alle XML-Erweiterungen auf der soliden Basis der libxml2-Bibliothek und erweitert den Funktionsumfang durch die Unterstützung von SimpleXML, XMLReader und XMLWriter.

Es gibt noch viele andere interessante Erweiterungen, die sowohl alphabetisch als auch nach Kategorien geordnet sind. Darüber hinaus gibt es auch noch PECL-Erweiterungen die ggf. in der PHP-Dokumentation selbst dokumentiert sind, z. B. » XDebug

Diese Seite reicht nicht aus, um alle Möglichkeiten und Vorteile von PHP aufzulisten. Lesen Sie weiter in den Abschnitten über die Installation von PHP und in der Funktionsreferenz sind Erklärungen zu den hier erwähnten Erweiterungen zu finden.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open