1. Aufbau einer PHP-Datei
PHP-Code kann überall in HTML-Code eingebettet werden. Um in den PHP-Modus zu wechseln
wird die Zeichenfolge <?php
verwendet. Zum Verlassen des PHP-Modus wird
die Zeichenfolge ?>
verwendet. Alternativ ist es auch möglich den
PHP-Interpreter gegen das Dateiende rennen zu lassen. Überall in der Datei kann in den PHP-Modus
gewechselt werden, es ist sogar möglich den kompletten Dateiinhalt in den PHP-Modus zu setzen
(Ganz vorne ein <?php
, ganz hinten ein ?>
). Damit der Server weiß
dass es sich um eine PHP-Datei handelt, die entsprechend PHP-Befehle enthalten, haben
PHP-Dateien die Dateiendungen .php
. Dies ist die Standardeinstellung
für einen Webserver mit PHP-Support, kann aber auch durch den Administrator geändert
werden. Eine Datei könnte z.B. wie folgt aussehen:
<?php
echo "Beispiel einer PHP-Datei\n";
?>
Hier ist die komplette Datei im PHP-Modus. Wie angemerkt kann der PHP-Modus auch nur dort verwendet werden wo er gebraucht wird.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="de" lang="de">
<head>
<title>Hi all</title>
</head>
<body>
<?php
echo "<p>Der PHP Code</p>\n";
?>
</body>
</html>
Text der sich außerhalb von PHP befindet (üblicherweise HTML-Code) wird als solches zum Client gesendet, ohne dass er vom PHP-Interpreter bearbeitet wird. Er kann aber auch durch PHP-Konstrukte wie Schleifen gesteuert werden.
Die zweite Variante eignet sich nicht zum Bearbeiten von Headerangaben. Mit den
ersten Zeichen was als Inhalt gesendet wird (hier das <
von
<?xml version="1.0" encoding="utf-8"?>
) werden auch die
Header gesendet und sind somit weg. Es besteht keine Chance mehr diese mittels
setcookie oder header zu bearbeiten.
Die XML-Deklaration kann auch ein Strich durch die Rechnung machen wenn mit
PHP gearbeitet wird. Die XML-Deklaration beginnt mit der Zeichenkette
<?xml
. Dies ist zwar nicht gleich der Zeichenkette für
PHP (<?php
) jedoch gibt es eine PHP-Einstellung das
die Zeichenkette <?
auch für den PHP-Modus verwendet werden kann.
Diese Einstellung nennt sich short_open_tag.
Somit wird mit <?xml version="1.0" encoding="utf-8" ?>
ungewollt in den PHP-Modus gewechselt. Daraus folgt dass der PHP-Interpreter
Befehle bekommt die nicht für ihn bestimmt sind. Dieser kann dann die reine
Zeichenfolge xml version="1.0" encoding="utf-8"
nicht verarbeiten und
erzeugt dann eine Fehlermeldung. Um das Problem zu umgehen kann die XML-Deklaration
selbst mit PHP ausgegeben werden. Dies wird z.B. in der Beschreibung zu
short_open_tag erklärt. Eine andere Möglichkeit wäre es einfach
diese Einstellung zu deaktivieren.
2. Funktionen
Um PHP zu testen kann eine PHP-Datei mit den folgenden Inhalt angelegt werden.
<?php
phpinfo();
?>
Dieser Inhalt wird in eine Datei namens phpinfo.php
gespeichert und hochgeladen.
Wenn diese Datei nun im Browser vom Webserver geöffnet wird gibt es zwei mögliche Ausgaben.
-
Es wird eine reine leere Seite dargestellt. Dies ist der Fehlerfall. Hier muss folgendes Überprüft werden.
-
Die Datei besitzt eine Dateiendung
.php
damit der PHP-Interpreter sie als PHP-Datei erkennt. -
Sie enthält gültigen PHP-Code.
-
Auf den Webserver ist PHP installiert und lauffähig.
-
Die Datei wird über eine
http://
-URL aufgerufen (Es ist ein beliebter Fehler beim lokalen testen die Datei überfile://C|/...
aufzurufen).
Hier ist es ratsam sich den Quellcode anzugucken den der Server geschickt hat. Je nach Browser ist dies unter Ansicht -> Quellcode zu finden. Wenn dort der Inhalt der PHP-Datei zu sehen ist wurde die Datei nicht vom PHP-Interpreter verarbeitet.
-
-
Im regulären Fall wird eine Seite angezeigt die nützliche Informationen über PHP anzeigt. Mit phpinfo ist es also möglich die Konfiguration von PHP zu betrachten. Dies ist also die erste Anlaufstelle um nachzugucken welche PHP-Module installiert sind und wie die Einstellungen zu PHP sind. Wichtig ist dabei z.B. die PHP Version, aber auch Einstellungen wie error_reporting und display_errors.
An diesem kleinen Beispiel ist der Aufbau eines Funktionsaufrufs zu sehen. Wenn eine Funktion aufrufen werden soll
wird zuerst der Namen der Funktion geschrieben, hier phpinfo
. Danach folgt eine geöffnete runde Klammer
(
. Nun können Parameter für diese Funktion folgen. Die Parameter verändern das Verhalten der Funktion
entsprechend der Definition der Funktion im Handbuch. Wenn eine Funktion mehrere
Parameter erwartet, werden diese untereinander mit einem Kommata (,
) trennen. Nach den Parametern
(falls vorhanden) wird die Parameterliste mit einer schließenden runden Klammer )
geschlossen. Diese
Klammern müssen bei Funktionen immer angegeben werden, selbst wenn kein Parameter verwendet wird (wie im Beispiel oben).
In PHP müssen Anweisungen (wie Funktionsaufrufe) mit einem Semikolon ;
abgeschlossen
werden. Ein einfacher Funktionsaufruf ist z.B. eine solche Anweisung, deswegen folgt hier ein Semikolon.
<?php
name_der_funktion(parameter1,parameter2,...);
?>
Die einzelnen Teile eines Funktionsaufrufs können beliebig durch Leerzeichen getrennt werden. Um genauer zu sein können sie durch Whitespaces getrennt werden. Dies schließt Leerzeichen mit ein, enthalten aber auch Zeilenumbrüchen und Tabulatoren. Folgende Funktionsaufrufe sind alle gleichbedeutend.
<?php
name_der_funktion(parameter1,parameter2);
name_der_funktion(parameter1, parameter2);
name_der_funktion (parameter1 ,parameter2) ;
name_der_funktion(
parameter1,
parameter2);
name_der_funktion ( parameter1 ,
parameter2
) ;
name_der_funktion (parameter1,parameter2) ;
?>
Es liegt am eigenen Programmierstil welche Schreibweise für einen selbst am besten lesbar ist. Im Bereich PHP gibt es diesbezüglich einen Standard, genannt PEAR Coding Standard. An diesem sollten sich PHP-Programmierer halten damit nicht nur ihr den Quellcode überblickt sondern auch derjeniger der nach euch den Code lesen und verstehen muss.