Kapitel A Einführung
In diesem Abschnitt wird PHP vorgestellt und mit anderen Möglichkeiten zur Webserver-Programmierung verglichen. Dem Leser wird erläutert, wie das Buch aufgebaut ist und wie man damit arbeitet. Die Voraussetzungen für den Leser und seine Arbeitsumgebung werden erläutert.
A.1 PHP – eine Beschreibung  
PHP
PHP ist eine Abkürzung für PHP Hypertext Preprocessor. Dabei handelt es sich um eine Software zur Vorverarbeitung und Erzeugung von Web-Seiten mit einer integrierten Programmiersprache.
Dynamische Web–Seiten
PHP ermöglicht Web-Entwicklern die Erzeugung von dynamischen Web-Seiten. Im Unterschied zu statischen Web-Seiten kann sich der Inhalt einer dynamischen Web-Seite aufgrund von Aktionen des Betrachters oder aufgrund neuer Basis-Informationen wie z. B. aus Datenbanken ändern.
Datenbanken
PHP unterstützt insbesondere die einfache Bearbeitung von Formularen und die Zusammenarbeit mit vielen verschiedenen Datenbank-Systemen. Besonders im Zusammenhang mit MySQL-Datenbanken wird PHP im Internet häufig eingesetzt. Auf über einer Million Web-Sites wird bereits mit PHP gearbeitet, und das mit steigender Tendenz.
A.2 Wie lerne ich PHP?  
Alle Abschnitte dieses Buches haben folgenden Aufbau:
Theorie
|
Den bis zum jeweiligen Zeitpunkt vorhandenen Grundlagen und Kenntnissen werden neue Elemente hinzugefügt. Die Theorie wird beschrieben und anhand von vollständigen, anschaulichen und ausführlich kommentierten Beispielen erläutert. |
Übungen:
|
Der Leser hat die Möglichkeit, Übungsaufgaben zum Thema zu lösen. Er soll dabei das soeben erworbene Wissen umsetzen und hat damit eine unmittelbare Erfolgskontrolle. Er kann selber feststellen, ob er den betreffenden Abschnitt verstanden hat. |
Lösungen
|
Die Lösungen zu allen Übungsaufgaben finden sich im Anhang. Sollte der Leser eine Übungsaufgabe nicht vollständig gelöst haben, so mag ihm die Lösung als Hilfestellung dienen. |
|
Sofern er selber eine lauffähige Lösung gefunden hat, kann er sie mit der vorgeschlagenen Lösung vergleichen. Beim Programmieren gilt der Grundsatz: Es gibt beliebig viele richtige Lösungen, nicht nur eine sogenannte Musterlösung. Allerdings soll mit dem Aufbau der Beispiel- und Übungsprogramme auch ein übersichtlicher und lesbarer Programmierstil vermittelt werden, der dem strukturierten Erlernen und der professionellen Programmierung dient. |
Dem Leser wird die nachfolgend geschilderte Vorgehensweise zum Erlernen von PHP anhand des vorliegenden Buches empfohlen:
A.2.1 Grundlagen  
|
Lesen des Abschnittes A (diese Einführung) |
|
Bearbeiten des Abschnittes B (HTML für PHP) |
|
Bearbeiten des Abschnittes C (Strukturierte Programmierung mit PHP) |
Anschließend kann schon erfolgreich programmiert werden.
A.2.2 Formulare und Datenbanken  
Zu diesen Themen sollten die nachfolgenden Abschnitte in der genannten Reihenfolge bearbeitet werden:
|
Abschnitt D (Bearbeitung von Formularen) |
|
Abschnitt E (Datenbanken mit MySQL) |
|
Abschnitt F (Programmierung von MySQL-Datenbanken mit PHP) |
A.2.3 Vertiefung  
Zur Vertiefung und Erweiterung der Kenntnisse in PHP und HTML können die nachfolgenden Abschnitte bearbeiten werden:
|
Abschnitt G (Text-Dateien) |
|
Abschnitt H (Arrays) |
|
Abschnitt I (Mathematische Funktionen) |
|
Abschnitt J (Zeichenketten-Funktionen) |
|
Abschnitt K (Neu in PHP 4) |
|
Abschnitt L (HTML gesamt) |
A.3 PHP im Vergleich  
PHP bietet im Vergleich zu anderen Programmier-Sprachen einige Vorteile. Im Folgenden sollen einige Kriterien näher untersucht werden, nämlich Ausführungsort, Erlernbarkeit, Einsatzbereich und Preis.
A.3.1 Ausführungsort  
Ein Web-Programm kann entweder auf einem Webserver (Server-Programm) oder beim Betrachter einer Web-Seite (Client-Programm) ausgeführt werden. PHP-Programme sind Server-Programme.
Server-Programme
Server-Programme haben den Vorteil, daß dem Betrachter lediglich die Ausgabe der Programme zugesandt wird. Das Browser-Programm des Betrachters muß lediglich den ausgeführten HTML-Code umsetzen können. Es muß keine besonderen Eigenschaften besitzen, die mit der Programmiersprache des Webservers zusammenhängen. Die Seiten können also auch von älteren Browsern dargestellt werden.
Der Betrachter kann keine Rückschlüsse auf den erzeugenden Programm-Code oder auf die Quelldaten ziehen. Darüber hinaus haben Server-Programme Zugriff auf Text-Dateien und Datenbanken. Dies ermöglicht erst die Durchführung häufig vorkommender Vorgänge wie z. B. die Suche nach bestimmten Daten, die Auswahl spezifischer Informationen oder die Übermittlung von Daten an den Server.
Client-Programme
Client-Programme werden dem Betrachter vollständig im Quellcode übermittelt und gelangen dort zur Ausführung. Die Programme können vom Betrachter leicht kopiert und zu eigenen Zwecken weiter verwendet werden. Darüber hinaus haben Client-Programme nur einen sehr begrenzten Zugriff auf Text-Dateien und keinen Zugriff auf Datenbanken, dies schränkt die dynamische Generierung von Web-Seiten stark ein.
A.3.2 Erlernbarkeit  
Leicht erlernbar
Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP ausschließlich für die Webserver-Programmierung entwickelt wurde und nur die dafür notwendigen Bestandteile enthält. Mit Hilfe anderer Sprachen können auch herkömmliche Anwendungsprogramme entwickelt werden. Dies bedingt bei diesen Sprachen einen gewissen Overhead, der sich bei der Entwicklung von reinen Web-Seiten störend auswirkt.
A.3.3 Einsatzbereich  
System-unabhängig
PHP wird von vielen verschiedenen Typen von Webservern einheitlich unterstützt. Andere Sprachen kommen nur auf bestimmten Server-Typen zum Einsatz. Der künftige PHP-Programmierer kann also seine Kenntnisse später auf den unterschiedlichsten Systemen nutzen.
A.3.4 Preis  
Frei verfügbar
PHP kostet nichts, es muß kein Compiler oder Entwicklungssystem gekauft werden. Es kann u. a. auf dem ebenfalls frei verfügbaren und weit verbreiteten Apache Web Server unter verschiedenen Betriebssystemen eingesetzt werden.
A.4 Ein kleines Beispiel  
Anhand des nachfolgenden Beispieles kann man erkennen, wie schnell ein PHP-Programm geschrieben werden kann. PHP-Anweisungen werden einfach in HTML-Code eingebettet.
Hallo Welt
Listing A.1 Datei hallo.php
<html>
<body>
<?php echo "Hallo Welt"; ?>
</body>
</html>
Das Programm kann vom Entwickler mit Hilfe eines beliebigen Texteditors erzeugt werden. Anschließend wird es bei einem PHP-fähigen Webserver abgespeichert, z. B. im dortigen Hauptverzeichnis unter dem Dateinamen hallo.php.
Einen solchen Webserver sollte ein künftiger PHP-Programmierer zu Lern- und Entwicklungszwecken auf dem eigenen Rechner installieren (siehe Abschnitt zur Installation).
localhost
Der Name, unter dem der Webserver auf dem eigenen Rechner erreichbar ist, kann meist frei gewählt werden. Häufig ist in den Konfigurationsdateien der Name localhost voreingestellt. Folglich kann die Startseite des Webservers unter der Adresse http://localhost erreicht werden.
Der Betrachter ruft mit Hilfe eines beliebigen Browsers die Datei durch Eingabe der Adresse auf. Im vorliegenden Beispiel ist dies die Adresse http://localhost/hallo.php. Anschließend erscheint bei ihm der Ausgabetext »Hallo Welt«.
Natürlich kann das Ergebnis des o. a. Programmes auch mit einer reinen HTML-Datei erzeugt werden. Es soll hier nur gezeigt werden, wie leicht ein PHP-Programm in eine Web-Seite integriert werden kann.
A.5 Vorkenntnisse des Lesers  
Zum Erlernen von PHP anhand des vorliegenden Buches sollte der künftige PHP-Programmierer Grundkenntnisse auf Anwenderebene von einem der nachfolgenden Betriebssysteme besitzen: Windows 95, Windows 98, Windows NT, Linux oder Unix
Dateisystem
Dies beinhaltet den Umgang mit dem jeweiligen Verzeichnis- und Dateisystem, d. h., er sollte folgendes können:
|
zwischen verschiedenen Verzeichnissen wechseln |
|
Textdateien mit Hilfe eines Texteditors öffnen, bearbeiten und speichern |
|
Dateien kopieren, verschieben und löschen |
Browser
Darüber hinaus sollte er einen Browser, also ein Programm zur Betrachtung von Web-Seiten bedienen können. Dies kann z. B. der Netscape Navigator oder der Internet Explorer sein.
HTML
Falls bereits Kenntnisse der Sprache HTML (Hypertext Markup Language) vorliegen, so kann der Abschnitt B (Grundlagen von HTML für PHP) im vorliegenden Buch entweder übergangen oder zur Eigenkontrolle kurz durchgesehen werden.
A.6 System-Voraussetzungen  
Der Rechner sollte mit einem der folgenden Betriebssysteme laufen:
Betriebssystem
|
MS Windows 95b / 95c |
|
MS Windows 98 / 98 SE |
|
MS Windows NT 4.0 Server / Workstation |
|
Linux |
|
Unix |
Es sollte ein Browser zur Darstellung von Internet-Seiten zur Verfügung stehen wie z. B.:
|
Netscape Navigator für Linux und MS Windows |
|
MS Internet Explorer für MS Windows |
Webserver
Es sollte ein PHP-fähiger Webserver installiert sein wie z. B.:
|
Apache 1.3.x, für Linux, Unix und MS Windows |
|
Omni HTTPd 2.0 b1, für MS Windows |
|
MS Personal Web Server (PWS), für MS Windows 95/98 |
|
MS Internet Information Server (IIS), ab Version 3, für MS Windows NT |
Man benötigt außerdem PHP selbst:
|
entweder im Quellcode zum Kompilieren oder als fertiges Produkt |
|
entweder in der Version für Unix / Linux oder in der Version für Windows |
Auf der beiliegenden CD finden sich u. a. PHP für Windows und der Apache Web Server für Windows. Bei den neueren Linux-Distributionen sind der Apache Web Server und PHP bereits enthalten.
A.7 Installation und Konfiguration einer Entwicklungsumgebung  
Im Anhang werden einige typische Beispiel-Installationen (unter Linux bzw. Windows 98) beschrieben. Beide Betriebssysteme sind als Basis für ein Entwicklungssystem für den Leser geeignet. Die Beispiele und Übungsaufgaben des vorliegenden Buches sind unter den drei im Anhang vorgestellten Installations-Varianten getestet worden.
Mit Hilfe der Linux-Variante kann auch ein professioneller Webserver im Internet betrieben werden. Windows 98 ist eher für kleinere Netzwerke geeignet.
PHP-Manual
Weitere Informationen zu den Installations- und Konfigurationsmöglichkeiten sind im PHP-Manual zu finden. Dieses Manual wird kontinuierlich aktualisiert und steht in aktueller Version unter der Adresse http://www.php-center.de zum Download zur Verfügung. Die Version von März 2000 findet sich auf der CD.
A.8 Daten-Sicherheit bei PHP  
Ein PHP-Programm kann auf einem Webserver auf Dateien zugreifen, Befehle ausführen und Netzwerk-Verbindungen öffnen. Dadurch stellt es eine potentielle Gefahr für die Datensicherheit dar. In der richtigen Konfiguration stellt es dem Programmierer allerdings die gewünschte Mischung aus Sicherheit und gestalterischer Freiheit zur Verfügung. Es gibt eine große Zahl von möglichen Konfigurations-Optionen. Eine Beschreibung der dazu notwendigen Schritte findet sich im PHP-Manual.
An dieser ungewöhnlichen Stelle möchte ich die Gelegenheit wahrnehmen, Herrn Peer Wülfing herzlich zu danken, der mir von Anfang an mit Anregungen und Kritik zur Seite stand.
|