Quakenet/#php Tutorial

Hinweis: Wenn sie diese Seite von einer externen URL aufgerufen haben achten sie darauf das alle Kapitel aufeinander aufbauen. Stellen sie daher sicher dass sie alle vorherigen Kapitel gelesen haben, da sie sonst relevante Informationen übersehen.

Grundlagen

  1. Aufbau einer PHP-Datei
  2. Funktionen

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.

  1. 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 über file://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.

  2. 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(parameter1parameter2);
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.

Fragen zum Kapitel

1. Welche Bedingungen müssen erfüllt sein damit eine PHP-Datei geparst wird?

Eine PHP-Datei wird geparst, wenn folgende Kriterien erfüllt sind

Zurück zu Weiter zu
Copyright © bei den OPs von #php.de/QuakeNet Valid XHTML 1.0 Strict Valid CSS!