340 likes | 638 Vues
Seminar Scriptsprachen PHP-Seminar Von Saleh Hajahja. PHP-Seminar : Inhalt. Einführung : Was ist PHP. Dynamische Webseiten. Historisches. Was macht PHP populär? Syntax: Datentypen, Variablen. Operatoren. Kontroll-Konstrukte : ( if- elseif -else, while, for, foreach ).
E N D
Seminar Scriptsprachen PHP-Seminar Von SalehHajahja PHP Seminar
PHP-Seminar: Inhalt • Einführung: • Was ist PHP. • Dynamische Webseiten. • Historisches. • Was macht PHP populär? • Syntax: • Datentypen, Variablen. • Operatoren. • Kontroll-Konstrukte: (if-elseif-else, while, for, foreach). • Funktionen. • Arrays. • String. • Reguläre Ausdrücke. • Web Programmierung: • Web Form Handling. • PHP und MySQL. PHP Seminar
PHP und dynamische Webseiten PHP ist eine serverseitige Scriptsprache für die Erstellung von dynamischen Webseiten. Es gibt viele Technologien zur Erstellung von dynamischen Webseiten, die häufigsten sind ASP.NET (Active Server Pages, von Microsoft), JP (Java Server Pages), ColdFusion, Ruby on Rails, und PHP. PHP Seminar
dynamische Webseiten PHP Seminar
Historisches • PHP wurde 1995 von RasmusLerdorf für personliche Zwecke entwickelt. • Ursprünglich stand PHP/FI für „Personal Home Page/Form Interpreter“ . • Im Jahr 1998 wurde Version 3.0 von ZeevSuraski und AndiGutmans ausgegeben. • Seitdem die Bedeutung von PHP steht für Hypertext Preprocessor. • Im Jahr 2000 gründeten sie die Firma Zend Technologies Ltd., Der Kern des Interpreters wurde wieder komplett umprogrammiert und unter dem Namen Zend Engine I „PHP 4.0“ ausgegeben. • Im Jahr 2004 wurde Zend Engine II „PHP 5.0“ausgegeben. PHP Seminar
Was macht PHP populär? • PHP ist schnell. • PHP ist kostenlos. • PHP ist einfach zu benutzen. • PHP ist portabel. • Technische Unterstützung steht allgemein zur Verfügung: • Sehr gut mit verschiedenen Sprachen dokumentiert. • Viele kostenlose Bibliotheken und bereitgestellten Quellcode auf dem Netz • Kostenlose Design Templates (Smarty, PHP Savant, PHPlib, Yats,…). • PHP ist sicher. PHP Seminar
Quelldateien und PHP-Tags • Es gibt vier Arten von Tags: PHP Seminar
Kommentare • Es gibt vier Arten von Kommentaren: • // Single line comment • # Single line comment • /* Multi-line Comment */ • /** * API Documentation Example * * @param string $bar */ functionfoo($bar) { } PHP Seminar
Datentypen • Scalar: • boolean: Ein Wert, der entweder true oder false sein kann. • int: Zeichenbehafteter numerischer Integer-Wert. • float: Zeichenbehafteter Fließkomma-Wert. • string: Sammlung „Collection“ vonBinärdaten. • Composite: • Arrays sind Container von geordneten Daten-Elemente. • Objekte. • Besondere Datentypen: • NULL. • ressource. • Umwandlung zwischen Datentypen „casting“: PHP kümmert sich um Umwandlung zwischen Datentypen. Beispiel: $x = 10.88;echo (int) $x; / / Ausgabe 10 PHP Seminar
Variablen • Eine Variable kann jede Typ von Daten annehmen. • PHP-Variablen sind durch ein Dollarzeichen $ identifiziert, gefolgt von einer Namen. • Variablennamen dürfen nur Buchstaben (a-z, A-Z), Ziffern (0-9) und den Unterstrich enthalten, und müssen entweder mit einem Buchstaben oder einem Unterstrich anfangen. • PHP ist case-sensitive. • isset ($varName). PHP Seminar
Operatoren • Zuweisungs-Operatoren: „=“: $a = ($b = 4) + 5; • Arithmetische Operatoren für die Durchführung mathematischer Funktionen: (-, +, -, *, /, %, +=, -=, *=, /=, %=). • String-Operatoren für die Verkettung von zwei oder mehr Strings: („.“, „.=“), Beispiele aus www.php.net: $a = "Hallo ";$b = $a . "Welt!"; $a = "Hallo ";$a .= "Welt!"; PHP Seminar
Operatoren • Vergleich-Operatoren für den Vergleich von zwei Daten: Quelle: www.php.net PHP Seminar
Operatoren • Logische Operatoren für die Durchführung von logischen Operationen in Boolesche Werte: Quelle: www.php.net PHP Seminar
Operatoren • Bit-Operatoren für die bitweise Manipulation von Daten: Quelle: www.php.net PHP Seminar
Kontrollkonstukte • ifelse Konstrukt: if (expression1) { //Anweisungen } elseif (expression2) { // stattelseif kann auch “elseif” getrennt geschrieben warden. } else { } • PHP bietet auch der ternäre Operator (? :): echo 10 == $x ? ’Yes’ : ’No’; $tablewidth = (isset($width)) ? $width : 100; PHP Seminar
Kontrollkonstukte • switch-Konstrukt: switch ($a) { // $a wird als Ausdrück bewertet case true: // Anweisungen break; case 0: // Anweisungen break; default: // Anweisungen break; } • Die iterativen Konstrukte (while, do-while, for): identisch wie bei C. • break, continue Konstrukte: identisch wie bei C-Sprache. • Es gibt weitere Kontrollkonstukte : siehe PHP-Dokumentation. • PHP bietet alternative Syntax für manche Kontrollkonstukte. PHP Seminar
Funktionen • Die Deklaration einer neuen Funktion fängt mit dem Schlüsselwort function an, gefolgt von einem Bezeichner „Funktionsname“, und dann ein Paar Klammern () dann zwei geschweiften Klammern {}: functionname() { } • Die Regeln für Variablennamen gelten auch für die Funktionen. • Die Funktionsnamen sind nicht case-sensitive. • Beispiel für Funktionsdeklaration und Funktionsaufruf: function hello() { echo "Hello World!"; } hello(); // Displays "Hello World!„ • Mit return kann eine Funktion einen Wert zurückliefern. PHP Seminar
Funktionen • Parameterübergabe: • Eine Funktion kann mit mehr aktuellen Parameter als ihre formale Parameter aufgerufen werden. • Optionale Parameter sind erlaubt, sie werden so deklariert, indem ihnen default-Werte zugewiesen werden. • Optionale Parameter. function hello($greeting, $who = "World") { echo "$greeting $who"; } hello(“Hello“); // Displays “Hello World” PHP Seminar
Arrays • PHP-Arrays sind geordnete Sammlungen „Collections“ von Elementen, jedes Element hat einen Wert und wird durch einen Schlüssel identifiziert. • numerische Schlüssel „automatisch erhöht“, alphanumerische Schlüssel oder Mischung von beiden. • Speicherung jedes Werts beliebiges Typs, einschließlich anderen Arrays. • mehr als siebzig vorhandene Funktionen zum Manipulieren von Arrays. • Es gibt zwei Methoden zur Erzeugung eines Arrays: • durch die explizite Aufruf der array () Konstruktor $a = array (10, 20, 30); $a = array (’a’ => 10, ’b’ => 20, ’cee’ => 30); $a = array (5 => 1, 3 => 2, 1 => 3,); $a = array(); PHP Seminar
Arrays • Die zweite Methode ist durch den Arrays Operator []: $x[] = 10; $x[] = 11; $x[’aa’] = 12; echo $x[0]; // Outputs 10 echo $x[1]; // Outputs 11 echo $x[“aa“]; // Outputs 12 • Enumerative Arrays vs. assoziative Arrays: In der Literatur werden die Arrays grob in zwei Kategorien unterteilt, enumerative und assoziative: • Enumerative Arrays. • Assoziative Arrays (manchmal auch als Dictionaries genannt) erlauben die Assoziation (beliebiger Schlüssel => beliebiges Element). PHP Seminar
Operationen auf Arrays • Arrays Iterieren: $array = array(’foo’, ’bar’, ’baz’); foreach ($array as $key => $value) { echo "$key: $value". "<br>"; } Ausgabe: 0: foo1: bar2: baz PHP Seminar
Operationen auf Arrays • Arrays sortieren: • sort(): $array = array(’a’ => ’foo’, ’b’ => ’bar’, ’c’ => ’baz’); sort($array); var_dump($array); Die Ausgabe: array(3) { [0]=> string(3) "bar" [1]=> string(3) "baz" [2]=> string(3) "foo" } • asort(): ähnlich wie sort(), sie erhält aber die Assoziation (Schlüssel=>Wert): • rsort():ähnlich wie sort() aber absteigend. • arsort():ähnlich wie asort() aber absteigend. • ksort():sortiert das Array aufsteigend nach Schlüssel. • krsort():sortiert das Array absteigend nach Schlüssel. PHP Seminar
Strings • Mit einfachem Anführungszeichen: sogegannte einfache Strings, dabei werden Escape–Sequenzen nicht ausgewertet (geparst), mit der Ausnahme das einfache Anführungszeichen selber (\‘), dieses wird ausgewertet (geparst). echo '$a + $b = '.($a+$b).”<br>”; echo 'erste Zeile\nimmernoch die erste Zeile'; Ausgabe: $a + $b = 30 erste Zeile\nimmernoch die erste Zeile • Mit doppeltem Anführungszeichen: sogenannte komplexe Strings, dabei werden alle Escape-Sequenzen ausgewertet (geparst). echo "$a + $b = ".($a+$b).”<br>”;echo "erste Zeile\nzweite Zeile"; Ausgabe: 10 + 20 = 30 erste Zeile zweite Zeile PHP Seminar
Operationen auf Strings • strlen(): Länge des Strings in Bytes bestimmt, alle Zeichen unabhängig von ihren Werten gezählt. • strtr(): String-Transforming: echo strstr (’abc’, ’a’, ’1’); // Ausgabe: 1bc • strcmp(): undstrcasecmp(): Stringvergleich, identisch außer, die erste ist case-sensitive, die zweite nicht-case-sensitive. • strpos(): gesucht die Position des ersten Vorkommen eines Strings. PHP Seminar
Reguläre Ausdrücke • Die Funktionpreg_match(): • Syntax: intpreg_match (string pattern, string subject [, array matches]); • pattern: enthält das Pattern. • Subject: enthält die Zeichenkette, auf die das Pattern angewandt werden soll. • Der Rückgabewert dieser Funktion ist 1, wenn das Pattern gefunden wurde, ansonsten 0. • Ist der Parameter "matches" angegeben, so wird dieser mit Backreferences gefüllt. • Lösung der Beispielcode: functionvalidate_email($address) { returnpreg_match( "/(^[\.a-z0-9_-]{1,64}@(((([a-z0-9])|([a-z0-9][a-z0-9-]{0,61}[a-z0-9]))\.)+)(de)$)/i" ,$address ,$matches) && (strlen($matches[2])<=256); } PHP Seminar
Web Programmierung • Beispiel: • Get-Methode: In derDateiform.php <form action="submitData.php" method="get" name="f1"> <p>Name: <input name="name" type="text" /></p> <p>Vorname: <input name="vorname" type="text" /></p> <p><input type="submit" /></p> </form> In der Datei submitData.php <?php // If we had a GET element called 'city', then echo it: if (isset($_GET['name'])) { echo "<p>Dein Name ist: {$_GET['name']}</p>\n"; echo "<p>Dein Vorname ist: {$_GET['vorname']}</p>\n"; } ?> PHP Seminar
Web Programmierung • Beispiel: • Mit Post-Methode: Analog. • Über URL: In der Datei Link.php: <body> <?php $name = "Bob"; ?> ÜbertagemeinenNamen: <a href="LinkData.php?meinName=<?php echo $name;?>"> Link </a> </body> In der Datei LinkData.php: <?php echo "Dein Name ist: ".$_REQUEST['meinName']."<br>"; ?> PHP Seminar
PHP und MySQL: Beispiel: Gästebuch • Form für die Daten erstellen: PHP Seminar
PHP und MySQL: Beispiel: Gästebuch • Daten in MySQL-Datenbank speichern: if(mysql_connect("localhost", "root", "111")){ if(mysql_select_db("gaestebuch")){ $query = "INSERT INTO eintraege ". "(Datum, Autor, Email, Titel, Text) ". "VALUES (". "\"".date("d/m/y")."\"".", \"". $_REQUEST["fAutor"]."\", \"". $_REQUEST["fEmail"]."\", \"". $_REQUEST["fTitel"]."\", \"". $_REQUEST["fText"] ."\");"; if(mysql_query($query)){ //data have been successfully saved! return true; }else{ show_alert("data Could not be saved!"); return false; } }else{ show_alert("Could not select database!"); return false; } }else{ show_alert("Could not connect to database Sever!"); returnfalse; } PHP Seminar
PHP und MySQL: Beispiel: Gästebuch • Daten aus MySQL-Datenbank abfragen. • Mit der Datenbank verbinden: wie oben. • Abfrage erstellen: $query = "SELECT * FROM eintraege"; • Abfrage ausfrühren: $result = (mysql_query($query)); • EineZeileeinlesen: $row = mysql_fetch_array($result); • Auf einzelne Attribute zugreifen: $row["Datum"], $row["Autor"], … PHP Seminar
PHP und MySQL: Beispiel: Gästebuch • Daten auf die Seite anzeigen. PHP Seminar
Quellen • php|architect’sZend PHP 5 Certification Study Guide by Davey Shafik with Ben Ramsey, First Edition: October 2006. • php|architect’s Guide to Programming with Zend Framework by Cal Evans, First Edition: January 2008. • Learning PHP 5, By David Sklar, June 2004. • PHP 5 in Practice, By Elliot White III, Jonathan Eisenhamer, July 11, 2006. • PHP 5 FOR DUMMIES, by Janet Valade, 2004. • Verschiedene Webseiten auf dem Internet. PHP Seminar
Danke! Fragen? PHP Seminar