PHP Kurzeinführung

Erstellt: 22.11.2005 | Aktualisiert: 03.11.2006

Eine Mini-Einführung in die Open Source Skriptsprache PHP. Dieses Snippet ist integraler Bestandteil einer Vorlesung und ohne Live-Kommentar nur mit Vorsicht zu geniessen.

Basierend auf dem Kapitel PHP des WikiBooks Webentwicklung einige Grundlegenden Angaben zum Aufbau der Skriptsprache PHP.

Als Pendant zu diesem Snippet empfiehlt sich auch die MySQL Kurzeinführung zu lesen.

Was ist PHP?

PHP (Hypertext Preprocessor, ursprünglich „Personal Home Page Tools“) ist eine serverseitige Open-Source Skriptsprache zur Erstellung dynamischer Webseiten. PHP ist leicht erlernbar und erfreut sich aus diesem Grund grosser Beliebtheit. Sie zeichnet sich durch breite Datenbankunterstützung und zahlreichen frei verfügbaren Funktionsbibliotheken aus.

Definition: PHP bei Wikipedia

Ausgabe

PHP-Skripte werden oft direkt als Blöcke in den XHTML-Code eingebunden, die umgehend PHP-Parser erkannt und abgearbeitet werden. Ein PHP-Block wird wie folgt dargestellt:

< ?php
echo "Hello World!";
?>

Er auszugebende String kann zwischen doppelten- oder einfachen Anführungszeichen stehen.

Kommentare

Auch in PHP können Kommentare über eine oder mehrer Zeilen auskommentiert werden.

// Einzeiliger Kommentar
echo "Kommentare sind nicht sichtbar";
/* Mehrzeiliger Kommentar führt
über mehrere Zeilen */
echo "Auch nur ein Beispiel";

Variablen

Variablen werden immer ein Dollarzeichen ($) vorangestellt. Im Unterschied zu anderen Programmiersprachen wir der Typ (string,int ) der Variable nicht genauer bestimmt.

// Zahl
$zahl = 1;
// String
$text = 'Ein String';
// Text und Variable kombinieren und ausgeben
$text = 'World';
echo 'Hello '.$text;

Anhand der Funktion isset() lässt sich prüfen, ob eine Variable überhaupt vorhanden ist. Falls eine Variable vorhanden ist, liefert die Funktion den Wert true zurück, d.h. 1.

PHP bietet auch eine Vielzahl von vordefinierten Variablen, die beispielsweise Angaben über den Webserver, von der Umgebung oder Benutzereingaben beinhalten.

$GLOBALS
$_SERVER
$_POST
$_GET
$_REQUEST
$_COOKIE
$_FILES

Typen

Datentypen von Variablen können auch im nachhinein verändert werden. Mit der Funktion settype lassen sich folgende Datentypen Variablen zuweisen:

$foo = "5bar"; // string
$bar = true;  // boolean

settype($foo, "integer"); // $foo ist jetzt 5  (integer)
settype($bar, "string");  // $bar ist jetzt "1" (string)

Der Datentyp einer Variable lässt sich anhand der Funktion gettype() kontrollieren. Weitere Möglichkeit ist auch die Überprüfung der Variable auf bestimmte Datentypen mit is_string oder is_integer.

Strings / Zeichenketten

Strings bzw. Zeichenketten ist eine folge von mehreren Zeichen. Diese werden in einfachen oder doppelten Anführungszeichen geschrieben und können mittels String-Funktionen bearbeitet werden.

Variablenübergabe (post und get)

Variablen können zwischen zwei (oder auch demselben Dokument) mittels der post- oder get-Methode übermittelt werden. Dafür wird beispielsweise in einem XHTML-Dokument folgendes Formular eingefügt:

Namenseingabe

Schicken wir nun dieses Formular durch drücken auf den Submit-Button ab, wird das Dokument neugeladen, inkl. der zuvor eingebenen Variable. Um diese Variable auszugeben muss wie folgt vorgegangen werden:

echo 'Du hast mit Vornamen '.$_POST['vorname'].' ';

Statt im Hintergrund, wie in der oben beschriebenen Methode, lassen sich Variablen auch direkt an die Adresse (URL) anhängen und auf diese Weise übergeben (index.php?vorname=stefano). Dies geschieht mit dem Befehl get. Die Abfrage geschieht dann wieder über

echo 'Du hast mit Vornamen '.$_GET['vorname'].' ';

Operatoren

Mit PHP können auch Rechenoperationen durchgeführt werden. Es stehen folgende Zeichen zur Verfügung:

+ = Addition
- = Subtraktion
* = Multiplikation
/ = Division
% = Modulo-Operation

// Addition zweier Variablen
$zahl1 = 10;
$zahl2 = 20;
$summe = $zahl1 + $zahl2;
echo $summe;

Kontrollstrukturen

Mit den Begriffen if, else und elseif in Kombination mit Vergleichoperatoren lassen sich Bedinungen überprüfen. Mit switch, eine Art Erweiterung der if-Anweisung, kann eine Variable auf mehrere Zustände überprüft werden.

// if-Abfrage
if ($a == $b) {
    echo 'Stimmt tatsächlich';
}

//if-else Abfrage
if ($a == $b) {
    echo 'Korrekt a und b sind gleich';
}
else {
    echo 'Nicht korrekt';
}

//switch-Anweisung
switch($var){
case "1": echo 'Die Variable hat den Wert 1';
break;
case "2": echo 'Die Variable hat den Wert 2';
break;
default: echo 'Die Variable hat weder den Werte 1 noch  2';
}

Schleifen

PHP bietet auch eine Auswahl von Schleifen-Varianten. Eine Schleife wird jeweils so lange ausgeführt, bis eine Bedingung erfüllt ist. Es wird unterschieden zwischen while-, do-while-, for- und foreach-Schleifen.

// while-Schleife
$zahl = 1;
while ($zahl != 100) {
    echo $zahl . ', ';
    $zahl++;
}

// for-Schleife
for ($zahl = 1; $zahl < 100; $zahl++) {
    echo $zahl . ', ';
}

Beim while-Beispiel werden solange Zahlen ab 1 ausgegeben, bis die Bedingung =100 erfüllt wird. Bei der for-Schleife genauso.

Funktionen

Funktionen in PHP bestehen immer aus einem Funktionsnahmen und optional aus einer beliebigen Anzahl Parameter. PHP bietet bereits einige vorgefertigte Funktionen, die allerdings nicht zwingend aktiviert bzw. installiert sind. Einen Ãœberblick findet ihr hier: Funktionsreferenz von PHP

Wie man eine eigene Funktion erstellt wird im folgenden Beispiel aufgezeigt. Dabei wird eine Funktion aufgerufen, die zum Ziel hat einen individuellen Begrüssungssatz auszugeben.

function nickname($nickname){
  echo "Willkommen " . $nickname . " beim Funktionstest!";
}

nickname("Volpe");
nickname("Stefano Vannotti");

Arrays

Ein wichtiges Element in PHP sind die Arrays, eine Art ausgebaute Variable in denen verschiedene Elemente mit unterschiedlichem Typ gespeichert werden können. Man unterscheidet dabei zwischen ein- und mehrdimensionalen Arrays. Arrays werden wie folgt erstellt:

$tiere = array('Hund', 'Katze', 'Hamster', 'Papagei');

// Neues Element hinzufügen
$tiere[] = 'Fisch';

Jedes Element besitzt einen Index. ACHTUNG: Die Indexierung beginnt bei 0 und steigt danach an. D.h. das erste Element hat den Index 0. Um also das dritte Tier aus dem Array auszulesen muss Index 2 aufgerufen werden.

// Ausgabe: Hamster
echo $tiere[2];

Für die Indexierung der Elemente lassen sich jedoch auch Namen vergeben. Diese werden dann Assoziative Arrays genannt.

$studierende = array('Roth'=>'Tim',
   'Wurster'=>'Henrik',
   'Fraser'=>'Gregor',
   'Schuler'=>'Barbara');
?>

Um wiederum das dritte Element aufzurufen kann nun auch der Vergebene Name angegeben werden.

// Ausgabe: Gregor
echo $studierende['Fraser'];

Arrays können natürlich auch beliebig ineinander verschachtelt werden. Man spricht dann von sogenannten Mehrdimensionalen Arrays.

$filme = array(
   array(
      'Titel'    => 'Tape',
      'Regie' => 'Richard Linklater',
      'Jahrgang'     => '2001'
   ),
   array(
      'Titel'    => 'Trois Couleur: Rouge',
      'Regie' => 'Krzysztof Kieslowski',
      'Jahrgang'     => '1994'
   )
);

Auch bei Mehrdimensionalen Arrays lassen sich einzelne Elemente nach dem gleiche Prinzip auslesen.

// Ausgabe: Krzysztof Kieslowski'
echo $filme[1]['Regie'];

Elemente der Arrays können auch gezählt (count), durchsucht (in_array) oder sortiert (asort und ksort) werden.

Zur Ausgabe der Elemente eines Arrays kann man foreach anwenden, um die Werte einer Variable zu übergeben und anzuzeigen:

foreach ($array as $key => $filme) {
    echo $key.': '.$filme."\r\n";
}

Dateien einschliesssen

Um Inhalte anderer Dateien direkt in ein Dokument zu integrieren bieten sich folgende Befehle an:

  • include()
  • require() – Falls Datei nicht gefunden wird, bricht das Script ab
  • include_once() – Einmalige Einbindung
  • require_once() – Einmalige Einbindung
include ('navigation.inc.php');

Weiterführende Links