1 / 26

Einführung in PHP

Einführung in PHP. Allgemeines. Allgemeines zu PHP steht für P HP H ypertext P reprocessor ist eine Skriptsprache wird eingebettet in HTML wird serverseitig verarbeitet wird seit 1994 entwickelt, ist sehr beliebt ist angelehnt an C, Java, und Perl besitzt APIs zu sehr vielen DBS

saskia
Download Presentation

Einführung in PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Einführung in PHP

  2. Allgemeines Allgemeines zu PHP • steht für PHP Hypertext Preprocessor • ist eine Skriptsprache • wird eingebettet in HTML • wird serverseitig verarbeitet • wird seit 1994 entwickelt, ist sehr beliebt • ist angelehnt an C, Java, und Perl • besitzt APIs zu sehr vielen DBS PHP ist verfügt über umfangreiche Dokumentation: • Homepage: http://www.php.net oder http://at.php.net • Handbuch: http://at.php.net/manual

  3. PHP-Code 4 verschiedene Möglichkeiten zur Einbettung in HTML (abhängig von der PHP-Konfiguration) <? … ?> <?php … ?> <script language="php"> … </script> <% … %> Kommentare innerhalb von PHP-Code <?# einzeiliger Kommentar// ebenfalls einzeiliger Kommentar/* mehrzeiliger Kommentar */ ?> Jede PHP-Anweisung muss mit Strichpunkt abgeschlossen werden! <? echo "Hallo"; ?>

  4. Textausgabe Textausgabe mit print oder echo <? print "Hallo"; # Hallo ausgeben # echo macht das gleiche wie print echo "Hallo"; # mehrzeilige Ausgabe print "Erste und zweite Zeile"; # das gleiche erreicht man mit print "Erste und\nzweite Zeile"; # beachte den Unterschied zum HTML-Zeilenumbruch print "Erste und<BR>zweite Zeile"; /* Anführungszeichen kann man auch verwenden, muss sie aber mit Backslash maskieren */print "Michi sagte \"Hallo\"."; ?>

  5. Variablen • in PHP beginnen Variable mit einem Dollarzeichen ($), gefolgt vom Namen der Variablen. • Name muss entweder mit Buchstaben oder Underscore (_) beginnen! <? # Deklaration und Initialisierung $var1 = "Hallo"; $var2 = "Schatzi"; # Ausgabe print $var1; # Hallo # Verkettung mit Punkt (.) print $var1 . " " . $var2; # Hallo Schatzi # alternativ auch innerhalb der print-Anweisung print "$var1, mein $var2"; # Hallo, mein Schatzi /* soll die Ausgabe "as is" erfolgen, dann muss einfaches Hochkomma verwendet werden */ print '$var1 ist eine Variable'; # $var1 ist eine Variable ?>

  6. Variablen Es gibt verschiedene Typen von Variablen • Skalare Typen • String <? $s = "Hallo"; ?> • Integer <? $i = 4711; ?> • Float <? $f1 = -47.11; $f2 = 0.3; ?> • Boolean <? $b = TRUE; $b = FALSE; ?> • Zusammengesetzte Typen • Arrays • Objekte

  7. Arrays Arrays bestehen aus mehreren indizierten Elementen. "Normale" Arrays haben einen numerischen Index beginnend bei Null. <? $arr = array(); # Initialisierung leer $arr = array(47, 11); # ... mit Vorbelegung $arr[] = 10; # anhängen mit automatischem Index $arr[3] = "hallo"; # hallo an Index 3 einfügen # Ausgabe eines Arrays mit print_r() print_r($arr); ?> Ergibt: Array ( [0] => 47 [1] => 11 [2] => 10 [3] => hallo )

  8. Arrays Assoziative Arrays verwenden String- oder Integer-Indices, um beliebige Werte zu referenzieren: <? # Initialisierung $star = array( "Vorname" => "Clint", "Nachname" => "Eastwood", "Alter" => 74); # formattierte Ausgabe: echo $star["Vorname"] . " " . $star["Nachname"] . " ist " . $star["Alter"] . " Jahre alt."; ?> Ergibt: Clint Eastwood ist 74 Jahre alt.

  9. Vordefinierte Variablen In PHP sind einige Variablen vordefiniert $PHP_SELF: Name des aktuellen Scripts $_POST: Alle Variablen, die über ein Formular geliefert werden (s. später) $_GET: Variablen, die über die URL geliefert werden, z.B. Aufruf von:http://www.xyz.com/test.php?x=10&y=Halloprint_r($_GET) liefert: Array ( [x] => 10 [y] => Hallo ) $_COOKIES: Cookie-Variablen $_SERVER: Server-Variablen, z.B. URL des Client $_SESSION: Hinweis: Alle vordefinierten Variablen können angezeigt werden mit : <? phpinfo(); ?>

  10. Operatoren Arithmetische Operatoren <? $a = 10; $b = 3; $a + $b; # Addition (13) $a - $b; # Subtraktion (7) $a * $b; # Multiplikation (30) $a / $b; # Division (3.33333) $a % $b; # Rest ermitteln (1) # Erhöhen um 1 $a++; # Post-Inkrement (NACH Auswertung der Anweisung) ++$a; # Prä-Inkrement (VOR Auswertung der Anweisung) # Verringern um 1 $a--; # Post-Dekrement (NACH Auswertung der Anweisung) --$a; # Prä-Dekrement (VOR Auswertung der Anweisung) ?>

  11. Logische Operatoren <? # logisches UND $a and $b; $a && $b; # logisches ODER $a or $b; $a || $b; # exklusives ODER $a xor $b; # Negation !$a; ?> Vergleichsoperatoren <? $a == $b; # gleich? $a === $b; # ident? $a != $b; # ungleich? $a <> $b; # ungleich? $a !== $b; # unident? $a < $b; # kleiner? $a > $b; # grösser? # kleiner oder gleich? $a <= $b; # grösser oder gleich? $a >= $b; ?> Operatoren

  12. Operatoren • Zuweisungsoperatoren <? $a = $b; # weist den Wert von $b auf $a zu # Kombination mit arithmetischen Operatoren: $a += $b; # entspricht $a = $a + $b # analog für andere arithmet. Operatoren: $a /= $b; $a *= $b; $a %= $b; ?> • Es gibt noch viele weitere Operatoren, zu finden unter: http://at.php.net/manual/de/language.operators.php

  13. Kontrollstrukturen • Konstrollstrukturen sind wichtige Elemente einer Programmiersprache, da sie dynamische und variable Abläufe ermöglichen • PHP kennt u.a. folgende Kontrollstrukturen: • if, elseif, else • while, do • for, foreach • break, continue • switch • include

  14. if, elseif, else • if, elseif, else werden für Abfrageverzweigungen verwendet • if und elseif evaluieren beliebige nicht-leere Ausdrücke zu TRUE oder FALSE <? $a = 10; if ($a >= 0 && $a < 10) { /* wenn $a gleich 8 oder gleich 9, wird dieser Block ausgeführt */ } elseif ($a == "Text") { /* dieser Block wird ausgeführt, wenn $a grösser oder gleich 11. Nach der Prüfung wird $a inkrementiert */ } else { /* dieser Block, falls alle die anderen Bedingungen nicht erfüllt sind */ } ?>

  15. switch • wenn eine Variable auf mehrere Werte geprüft wird, so empfiehlt sich ein switch-Statement <? $a = 10; switch ($a) { case "Text": echo '$a ist Text'; break; case 10: echo '$a ist 10'; break; default: echo 'keines von beiden'; break; } ?> • case: Prüfwert • break: Tritt aus dem switch-Block aus • default: Anweisung(en), die ausgeführt werden, falls kein case zutrifft.

  16. while, do • while-Schleifen werden solange durchlaufen, bis der Kontrollausdruck zu FALSE evaluiert <? $a = 0; while ($a < 10) { echo "Heute ist es sehr heiss!"; $a++; } ?>  Gibt 10 mal den Text aus <? # do..while Variante $a = 0; do { echo "Hoffentlich ist es morgen nicht so heiss!"; $a++; } while ($a < 10); ?>  Gibt ebenfalls 10 mal den Text aus

  17. for for-Schleifen sind etwas komplexer, da Sie 3 (optionale) Ausdrücke beinhalten: <? for ($i=0; $i<10; $i++) { echo "$i<br>"; } ?> Kontrollbedingung: Schleife bricht ab, wenn diese Bedingung zu FALSE evaluiert Initialisierung: wird bei Schleifeneintritt einmalig ausgeführt Anweisung, die am Ende jedes Durchlaufs ausgeführt wird

  18. foreach • foreach ist ein Konstrukt zum bequemen Durchlaufen von Arrays <? $arr = array("a", "b", "c"); # nur die Werte auslesen foreach ($arr as $v) { echo $v; } # Schlüssel und Werte auslesen foreach ($arr as $k => $v) { echo "Schlüssel $k hat Wert $v"; } ?>

  19. Weitere In Schleifen kann man die Abarbeitung beinflussen: break: Veranlasst den sofortigen Austritt aus der Schleife continue: erzwingt sofort den nächsten Durchlauf, ohne die restlichen Statements der Schleife auszuführen. Um andere Dateien einzubinden: <? include "andere.php"; include "http://www.google.at"; ?> Der Code einer eingebundenen Datei wird an die Stelle des include-Statements gesetzt

  20. Funktionen Häufig benutzte Anweisungssequenzen kann man in eine Funktion verpacken: <? # berechne die Anzahl der Sekunden von $tage Tagen function errechneSekunden ($tage) { $sekunden = $tage * 24 * 60 * 60; return $sekunden; } $t = 5; $s = errechneSekunden($t); echo "$t Tage haben $s Sekunden"; ?> Eine Funktion hat also einen Namen, eine Liste von Parametern, und optional einen Rückgabewert

  21. Web-Formulare • Web-Formulare sind die beliebteste Form der Benutzerinteraktion auf Webseiten • Die Frage ist: Wie kann man Benutzereingaben in PHP verarbeiten? • Antwort: Die Benutzereingaben werden dem PHP-Skript als HTTP-Post- oder HTTP-Get-Variablen zur Verfügung gestellt (beide Mechanismen sind Teil des HTTP Protokolls) • $_POST und $_GETsind vordefinierte assoziative Arrays! • Detaillierte Infos zu allen PHP und Formularen:http://at.php.net/manual/de/tutorial.forms.php undhttp://at.php.net/manual/de/faq.html.php

  22. Web-Formulare • Formular definieren in der Datei form.php: <? if(isset($_POST['var'])) { echo "Sie haben {$_POST['var']} eingegeben!"; exit; } ?> <form action="form.php" method="post"> <input type="text" name="var"/> <input type="submit"/> </form> • Beim ersten Aufruf im Browser wird das Formular dargestellt: • Nach drücken auf "Abschicken!" wird die Ausgabe dargestellt, weil isset(...) zu TRUE evaluiert

  23. PHP Links • Homepage: http://www.php.net oder besser (weil schneller) http://at.php.net • Ein einfaches Tutorial gibts dort auch: http://at.php.net/manual/de/tutorial.php • Eine gute Einführung als PDF gibts von Team ThinkPHP: www.thinkphp.de

  24. PHP Klassen • PHP unterstüzt rudimentäre OOP Ansätze <? class Warenkorb { var $korb; function Warenkorb () { $this->korb = Array(); } function add(item) { array_push($this->korb ,$item) } function addGeschenk() { $this->add("Geschenk"); } } ?>

  25. PHP Klassen • Klassen werden mit dem class Schlüsselwort deklariert • var $korb deklariert eine Instanzvariable, man kann auf Instanzvariablen mit $this-> zugreifen. • function Warenkorb() ist der Konstruktor – eine Funktion die gleich heisst wie die Klasse • Funktionen innerhalb der Klasse werden ebenfalls mit $this-> aufgerufen • private, protected, public ist nicht möglich, alles ist immer public. • die Klasse kann nun wie folgt verwendet werden: $meinkorb = new Warenkorb(); $meinkorb->add("Buch"); $meinkorb->addGeschenk(); print_r($meinkorb);

  26. PHP Klassen • single inheritance ist möglich <? class PersonalisierterWarenkorb extends Warenkorb { var $person; function PersonalisierterWarenkorb ($person) { $this->Warenkorb(); // Konstructor der Oberklasse $this->person = $person; } function getPerson() { print $this->person; } } ?> • Beachte: • Konstructor der Oberklasse muss von Hand aufgerufen werden, • Alle methoden sind virtual • Nur ein Konstruktor ist möglich

More Related