Homepagebau
Dateiversion:
diesen Beitrag diskutieren,
ergänzen, eine Frage stellen

Grundbegriffe

 

Basics

PHP hat seine Wurzeln sowohl in Perl als auch C, wobei das größere Gewicht allerdings auf der Verwandtschaft mit Perl lastet. Quereinsteiger aus einer dieser Sprachen sollten sich in PHP daher recht schnell heimisch fühlen. Allerdings ist die Skriptsprache allgemein sehr einsteigerfreundlich.

PHP-Dateien erstellen

In PHP verfasste Skripte können auf ähnliche Weise in HTML-Seiten eingebettet werden, wie sie es, falls sie bereits selbst programmiert haben, vielleicht schon von JavaScript, J-Script oder VB-Script gewohnt sind. Die Einbettung erfolgt durch den Tag "SCRIPT". Alternativ sind jedoch auch andere Schreibweisen möglich. Beim Anzeigen der HTML-Seite wird das eingebettete Skript vom Server interpretiert und die Ausgabe des Skripts dort eingefügt, wo sich das Skript in der HTML-Datei befindet.

Eine weitere Besonderheit ist die Dateiendung, welche sie von ".html" oder ".htm" in ".php" ändern sollten. Das ist notwendig, weil der Server auf dem die Dateien später liegen werden zwischen normalen HTML-Dateien und solchen, welche PHP-Skripte enthalten, unterscheidet. Der Grund hierfür liegt in der zusätzlichen Belastung des Servers die durch jeden Aufruf des PHP-Interpreters entsteht.

Beispiel: Einbettung über SCRIPT-Tag

<html>

<body>
  <script language="PHP">
   
// hier folgt das Skript
  </script>
</body>

</html>

Alternative: Einbettung im ASP-Stil

<%
 
// hier folgt das Skript
%>

zweite Alternative: Einbettung im XML-Stil

<?php
   
// hier folgt das Skript
?>

die Zeichenfolge "php" kann man auch weglassen:

<?
   
// hier folgt das Skript
?>

Kommentare

<?php
   
// ein Kommentar, der maximal eine Zeile lang ist

    /* dieser Kommentar kann mehrere
      Zeilen lang sein. */

?>

Variablen und einfache Ausdrücke

PHP ist nicht streng typisiert, wie beispielsweise C. Es ist nicht notwendig eine Variablen oder Konstante vor der ersten Nutzung zu deklarieren oder zu initialisieren. Der Typ einer Variable kann sich zu ihrer Lebenszeit ändern.

<?php
    $a = 100;
// $a hat den Typ Integer
    $a = 1.5;
// $a ist jetzt vom Typ Float
    $a = true;
// $a ist jetzt vom Typ Boolean
    $a = "Hallo";
// $a ist jetzt ein String
    $b = $a; // $b übernimmt den Wert UND Typ der Variablen $a

    // mit "." können Strings aneinandergehängt werden:
    $b = $b." Welt";
// $b ist jetzt "Hallo Welt"
    echo $b;
// gibt "Hallo Welt" aus
?>

Ausgabe: Hallo Welt

wichtige Operatoren

grundlegende Operationen 
$a + $b Addition Summe von $a und $b
$a - $b Subtraktion Differenz von $a und $b
$a * $b Multiplikation Produkt von $a und $b
$a / $b Division Quotient von $a und $b
$a % $b Restwert (Modulo) Rest der ganzzahligen Division von $a durch $b
$a . $b Verkettung von Strings hängt $b an $a
$a = $b Zuweisung $a übernimmt Wert und Typ von $b
Abkürzungen ...
$a += $b Abkürzung ... $a = $a + $b
$a -= $b Abkürzung ... $a = $a - $b
$a *= $b Abkürzung ... $a = $a * $b
$a /= $b Abkürzung ... $a = $a / $b
$a %= $b Abkürzung ... $a = $a % $b
$a .= $b Abkürzung ... $a = $a . $b
$a++ Post-Inkrement gibt den Wert von $a zurück und erhöht ihn anschließend um 1
$a = $a + 1
++$a Prä-Inkrement erhöht den Wert von $a um 1
($a = $a + 1)
$a-- Post-Inkrement gibt den Wert von $a zurück und vermindert ihn anschließend um 1
$a = $a - 1
--$a Prä-Inkrement vermindert den Wert von $a um 1
($a = $a - 1)
$test ? $b : $c bedingte Auswertung wenn $test wahr (=true) ist, liefere $b zurück, sonst $c
Beispiel: $a = $test ? $b : $c  entspricht:  if ($test) { $a=$b; }  else { $a=$c; }
Aufrufe "by reference"
$a = &$b Aliasing (call by reference) $a ist jetzt die selbe Variable wie $b: das heißt nur ein anderer Name für genau 
Vergleichsoperatoren
$a > $b größer als true wenn $a größer $b, sonst false 
$a >= $b größer oder gleich true wenn $a größer oder gleich $b, sonst false 
$a < $b kleiner als true wenn $a kleiner $b, sonst false 
$a <= $b kleiner oder gleich true wenn $a kleiner oder gleich $b, sonst false 
$a == $b gleich true wenn $a gleich $b, sonst false
$a != $b ungleich true wenn $a und $b verschieden sind, sonst false
$a === $b absolut gleich true wenn $a und $b nicht nur gleich, sondern auch vom selben Typ sind, sonst false
$a !== $b nicht absolut gleich true wenn $a und $b nicht gleich, oder nicht vom selben Typ sind, sonst false
bitweise Operatoren
~ $a Negation kehrt den Wert des Bits um:
1 wenn $a 0 ist, sonst 0
$a & $b Und 1, wenn $a = 1 und $b = 1 sind, sonst 0
$a | $b Oder 1, wenn $a = 1 oder $b = 1 sind, sonst 0
$a ^ $b Exklusiv-Oder 1, wenn entweder $a oder $b 1 sind, aber nicht beide gleichzeitig, sonst 0
$a << $b Links-Shift verschiebt die Bits von $a um $b Stellen nach links:
entspricht einer Multiplikation mit $b*2
$a >> $b Rechts-Shift verschiebt die Bits von $a um $b Stellen nach rechts:
entspricht einer ganzzahligen Division durch $b*2
boolsche Operatoren
! $a Negation kehrt den Wahrheitswert der Aussage um:
true wenn $a false ist, sonst false
$a && $b
$a || $b
Und true, wenn $a und $b true sind, sonst false
$a or $b
$a || $b
Oder true, wenn $a oder $b true sind, wenn beide false sind ist auch dieser Ausdruck false
$a xor $b Exklusiv-Oder true, wenn entweder $a oder $b true sind, aber nicht beide gleichzeitig, sonst false