PHP
... [ Seminar Linux, WWW, Java und Internet ]
... [ Thema LAMP ]
... [ Anwendung von Lamp ] ...
Übersicht: PHP
PHP in HTML
Damit der HTML-Modus verlassen und der PHP-Code ausgeführt werden
kann, müssen die PHP-Anweisungen durch bestimmte Tags eingefasst werden:
<? print("Hello World"); ?>
<?php print("Hello World"); ?>
<script language="php">
print("Hello World");
</script>
Ausserdem könen optional ASP-Tags benutzt werden:
- <% print("Hello World"); %>
An diesen Beispielen kann man auch schon die Ähnlichkeit zu C erkennen.
Syntax
Ähnlichkeiten von Ausdrücken mit C:
- Bedingungen
- IF
if ($a > $b) {
print "a is bigger than b";
} elseif ($a == $b) {
print "a is equal to b";
} else {
print "a is smaller than b";
}
- SWITCH
switch ($i) {
case 0:
print "i equals 0";
break;
case 1:
print "i equals 1";
break;
case 2:
print "i equals 2";
break;
default:
print "i is not equal to 0, 1 or 2";
}
- Schleifen
- WHILE
$i=1;
while ($i<=10) {
print $i++;
}
- DO..WHILE
$i = 0;
do {
print $i;
} while ($i>0);
- FOR
for ($i=1; $i<=10; $i++) {
print $i;
}
- Typcasting
$foo = 10; // $foo ist ein Integerwert
$bar = (double) $foo; // $bar ist ein Doublewert
- Boolsche Werte
$foo = true;
- Funktionen
1:
2: <h3>Beispiel: PHP-Funktionen</h3>
3:
4: <?
5: function implizit() {
6: print("<p>Implizit.");
7: }
8:
9: function explizit() {
10: print("<p>Explizit.");
11: }
12:
13: function funktion($call="implizit") {
14: $call();
15: }
16:
17: funktion();
18:
19: funktion("explizit");
20: ?>
Folgende Eigenschaften von PHP unterscheiden sich von C:
- Variablen:
müssen in PHP nicht deklarieren werden.
Es gibt zwei Arten von Variablen:
- einfache Variablen:
$count = 5;// Integer-Variable
$name = "count";// String-Variable
printf("Zählerstand von %s: %d \n", $name, $count); // Benutzung von Variablen
- Variable Variablen:
sind Variablen, deren Inhalt als Variablenname interpretiert wird.
Dadurch kann indirekt auf den Inhalt einer Variable zugegriffen werden.
printf("Zählerstand: %d \n", $$name);
Statische Variablen werden durch das Schlüsselwort static
deklariert. Globale Variablen werden innerhalb von Funktionen durch
folgenden Ausdruck sichtbar gemacht:global $a;
- Datentypen
In PHP gibt es folgende Datentypen:
- Integer
- Float
- String
- Array
Arrays können sowohl indiziert als auch assoziativ (Hashtable)
sein. Der Array besitzt dabei einen internen Zeiger auf ein aktuelles
Element. Dieser Zeiger kann über diverse PHP-Funktionen
manipuliert werden.
$feld = array("banane" => "gelb", "blau", "erdbeere" => "rot", "lila");
Der Zugriff auf einen Array erfolgt durch:
while(list($key, $val) = each($feld)) {
echo("$key => $val<br>");
}
- Object
Ein Beispiel für Vererbung und Instanziierung von Objekten:
1:
2: <h3>Beispiel: PHP-Objekte</h3>
3:
4: <?
5: class a {
6: var $text = "Huhu!";
7: function out(){
8: printf("Class A: %s<br>\n",$this->text);
9: }
10: }
11:
12: class b extends a {
13: function out(){
14: printf("Class B: %s<br>\n",$this->text);
15: }
16: }
17:
18: $obj = new a;
19: $obj->out();
20:
21: $obj = new b;
22: $obj->text = "Hallo!";
23: $obj->out();
24: ?>
- Fehlerbehandlung:
durch ein @
vor einem Funktionsaufruf wird die
Fehlermeldung unterdrückt.
Die Fehlermeldung kann danach aus
der globalen Variable $php_errormsg
gelesen werden.
- Parameter und Umgebungsvariablen
Umgebungsvariablen existieren automatisch als globale Variablen
innerhalb des Scripts:
print($SCRIPT_NAME);// Ausgabe des Dateinamens
print($HTTP_HOST); // Ausgabe des Client-Namen
print($REMOTE_ADDR);// Ausgabe der Client-Adresse
Gleiches gilt für Eingabefelder eines empfangenen
HTML-Formulars und für Cookies.
Die Reihenfolge in der die Werte in PHP-Variablen übernommen
werden ist GET, POST und dann Cookies.
PHP - Kommandos
PHP bietet eine Vielzahl von internen Hilfsfunktionen. Unter anderem:
- Funktionen zur Datenbankanbindung für verschiedene Datenbanken:
Oracle, Adabas D, Sybase, FilePro, mSQL 1.x and 2.x, Velocis,
MySQL, Solid, dBase, Unix dbm, PostgreSQL
und alle Datenbank-Systeme mit ODBC-Interface
- zur String-Verarbeitung; speziell zur Suche nach
regulären Ausdrücken
- zum Datei- und Verzeichniszugriff
- zur Netzwerkanbindung, u.a. über LDAP und SNMP
- HTTP spezifische Funktionen: z.B. zum Setzen von Cookies und Headern
- Funktionen zur Zeit- und Datumsverarbeitung
Zusätzlich existieren Bibliotheken von anderen Entwicklern,
wie z.B. die "PHP-BaseLib". Diese stellt verschiedene zusätzliche
Funktionalitäten zur Verfügung:
- Cookie-basiertes Session-Management
- Authentifizierungsverwaltung
- Warenkorb-Klasse
- HTML-Widget's, d.h., "Vorgefertigter HTML-Code" für Tabellen,
Graphen, SQL-Abfragen usw.
Von anderen Entwicklern ist selbst ein vorgefertigtes Gästebuch
unter dem Namen "myGuestbook" verfügbar.
Hilfen
- Zur Unterstützung des Programmierers ist eine komplette
Kommandoreferenz auf der PHP-Homepage verfügbar. Neben einer
Suchfunktion ist es auch möglich eigene Kommentare zu den
Funktionen zu schreiben.
- Ausserdem gibt es diverse Internet-Seiten mit Beispielprogrammen
und hilfreichen Artikeln: z.B. die PHPBuilder-Site
... [ Seminar Linux, WWW, Java und Internet]
... [ Thema LAMP ]
... [ PHP ]
... [ Anwendung von Lamp ] ...