PHP

Aus Vokabulabor
Zur Navigation springen Zur Suche springen

Links

Zielsetzung

In diesem Kurs soll die Programmiersprache PHP in Grundzügen erlernt werden.

Voraussetzung

Dateiformat

  • Eine Quellcodedatei für PHP beginnt mit folgendem Header:
<?php
  • Php ist eine formatfreie Sprache: Zwischen den Elementen können beliebig viele Kommentare, Leerzeichen, Tabulatoren und Zeilenwechsel stehen.
  • Kommentare sind Bemerkungen, die nur zur Information des menschlichen Lesers da sind. Sie beeinflussen das Programm nicht.
  • In PHP gibt es zwei Typen von Kommantaren:
    • Beginnt ein Kommentar mit zwei Slashes "//", dann geht dieser bis zum Zeilenende.
    • Beginnt ein Kommentar mit "/*", dann geht er bis zum ersten "*/".

Text ausgeben

Text wird mittels des Schlüsselwortes echo ausgegeben:

<?php
echo "Hallo Welt!\n";
  • Es wird die Zeichenkette "Hallo Welt!" ausgegeben, mit einem abschließenden Zeilenwechsel: \n
  • Das, was ausgegeben wird, muss zwischen dem Schlüsselwort echo und einem ';' (Semicolon) stehen.
<?php
echo "Hallo Welt!\n";
echo 42;
echo "\n";
  • Hier werden 2 Zeilen ausgegeben: zuerst wird die Welt begrüßt, dann wird die Zahl aller Zahlen (42) ausgegeben, mit nachfolgendem Zeilenwechsel.

Wir können auch mehrere Sachen mit einem echo ausgeben, indem wir diese mit Komma trennen: <?php echo "Hallo Welt!\n", 42, "\n"; </syntaxhighlight>

  • Das leistet das gleiche wie das Programm oben.

Variablen

  • Eine Variable ist ein Speicherplatz: sie hat einen Namen, mit dem sie angesprochen wird, und einen Wert.
  • Eine Variablenname beginnt immer mit einem '$' (Dollarzeichen) und besteht danach aus Buchstaben, Ziffern und dem '_'. Beispiele: $n, $userName
  • Konvention: Wir benutzen für Variablennamen Camel-Case: Besteht ein Name aus mehreren Wörtern, werden diese ohne Leerzeichen hintereinander geschrieben und alle Wörter nach dem ersten beginnen mit einem Großbuchstaben.
  • Eine Variable bekommt durch eine Zuweisung einen Wert:
<?php
$name = "Huber";
$age = 42;
echo "Name: $name Alter: $age\n";
  • Die Variable namens $name bekommt den Wert "Huber".
  • Die Variable namens $age bekommt den Wert 42.
  • In dem String, der in der letzten Zeile mit echo ausgegeben wird, kommen die beiden Variablen vor. Diese Variablennamen werden durch die Werte ersetzt.

Formeln

Jede Programmiersprache kann rechnen.

<?php
$capital = 325.77;
$interest = 3.5;
$value = $capital * (1 + $interest / 100);
echo "Kapital: $capital Zins: $interest Wert: $value\n";
  • Die Variable $capital bekommt den Gleitpunktzahlwert 325.77, die Variable $interest den Wert 3.5.
  • Der Wert wird mit der Formel berechnet. Die Formel enthält Zahlen, Rechenzeichen ('+', '*', '/'), Variablen und Klammern in beliebiger Mischung.
  • PHP kennt die "Vorrangregeln" der Arithmetik: Punkt vor Strich, also erst die Klammer berechnen, dann erst die Multiplikation ausführen.

Für Zeichenketten ("Strings") gibt es die Möglichkeit der "Verkettung":

<?php
$firstname = "Hans";
$lastname = "Miller";
$name = $firstname . " " . $lastname;
echo "Name: $name";
  • Es werden die 3 Zeichenketten $firstname, " " und $lastname mit dem Operator ("Rechenzeichen") "." "aneinandergeheftet".

Funktionen

  • Berechnungen können in Funktionen gebündelt werden. Das erhöht die Übersicht und die Wiederverwertbarkeit.
  • PHP-Funktionen funktionieren wie mathematische Funktionen:
<?php
function sum($a, $b){
  $rc = $a + $b; 
  return $rc;
}
echo sum(1237.99, 4399.5);
echo "\n";
  • Die Funktion hat den Namen sum.
  • Es gibt zwei Parameter, die der Funktion mitteilen, was summiert werden soll.
  • Es wird der Wert der Parameter addiert und der Variable $rc zugewiesen.
  • Das Ergebnis wird dann mit dem Schlüsselwort 'return "abgeliefert.
  • Mit dem ersten echo wird durch "Aufruf" der Funktion die Summe von 1237.99 und 4399.5 berechnet und diese ausgegeben.
  • Mit dem zweiten echo wird ein Zeilenwechsel ausgegeben.

Parameter

  • Parameter sind spezielle Variablen. Der Unterschied zu "normalen" Variablen: Sie bekommen ihren Wert beim Aufruf der Funktion.
  • Im Beispiel hat die Funktion sum zwei Parameter $a und $b.
  • Beim Aufruf sum(1237.99, 4399.5) passiert folgendes: $a = 1237.99; $b = 4399.5.
  • Dann wird der Funktionsrumpf abgearbeitet: $rc = $a + $b; return $rc;
  • echo bekommt damit den Wert 5637.49.

Wiederverwertbarkeit

Ziel sollte es immer sein: ein Programm sollte den Code für eine "Berechnung" nur genau einmal enthalten.

Beispiel: Ein Programm arbeitet mit Bruttopreisen, die aus Nettopreis und Mehrwertsteuer bestehen. Die Berechnung ist immer gleich: $brutto = $netto * 1.19;. Wenn sich die Mehrwertsteuer ändert, dann müssen alle Stellen mit dieser Berechnung geändert werden.

Das geht besser: Wir definieren eine Funktion:

function brutto($netto){
  return $netto * 1.19;
}

Wenn wir den Bruttopreis brauchen, dann schreiben wir: $priceChair = brutto($nettoChair); $priceTable = brutto($nettoTable); .... Bei einer Steueränderung müssen wir nur die Funktion brutto ändern.

Aufgaben

Definiere nach diesem Schema weitere Funktionen:

  • eine Funktion, die das Volumen einer Kugel berechnet. Die Formel lautet: Volumen einer Kugel mit Radius ist 4/3*pi*r³.
  • eine Funktion, die die Oberfläche einer Kugel berechnet: Oberfläche einer Kugel mit Radius r ist 4*pi*r².

Bedingte Anweisung

Es kommt oft vor, dass eine Berechnung von Bedingungen abhängt:

Beispiel: Bestimmen des Maximums von zwei Zahlen a und b:

  • Wenn a größer als b ist, ist das Ergebnis a.
  • Sonst ist das Ergebnis b.

In PHP wird das so formuliert:

if ($a > $b){
  $result = $a;
} else {
  $result = $b;
}
  • Eine bedingte Anweisung beginnt mit dem Wort 'if.
  • Es folgt eine in Klammer geschriebene Bedingung: ( $a > $b ).
  • Es folgt ein mit '{' und '}' umschlossener Block von Anweisungen, die bei Erfüllung der Bedingung ausgeführt werden. Hier genau eine Anweisung: $result = $a;
  • Optional folgt das Wort else und ein mit '{' und '}' umschlossener Block von Anweisungen, der nur dann ausgeführt wird, wenn die obige Bedingung nicht erfüllt ist.

Wenn wir das noch in eine Funktion verpacken, dann ist das wiederverwertbar:

function max($a, $b){
  if ($a > $b){
    $result = $a;
  } else {
    $result = $b;
  }
  return $result;
}

Aufgaben

  • Schreibe eine Funktion, die als Parameter das Alter bekommt und dann, wenn das Alter größer 17 ist, den Text "Willkommen" ausgibt, sonst den Text "Leider kein Zutritt!".
  • Schreibe eine Funktion, die eine Zahl prüft, ob sie positiv ist. Wenn sie nicht positiv ist, soll der Text "Zahl ist nicht positiv!" ausgeben.
  • Schreibe eine Funktion, die eine Zahl prüft, ob sie zwischen 0 und 100 liegt. Wenn sie nicht im Intervall liegt, soll sie den Text "keine Prozentzahl" ausgeben.