Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte...

24
Seminarvotrag: PHP Von Stefan Niemczyk

Transcript of Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte...

Page 1: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Seminarvotrag: PHP

Von Stefan Niemczyk

Page 2: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 2

Übersicht

Was ist PHP? Geschichte Verwendungsmöglichkeiten

Was bietet PHP Syntax

Erzeugung dynamischer Webanwendungen Ablauf Vor- und Nachteile Caches

Page 3: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 3

Was ist PHP?

Page 4: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 4

Was ist PHP?

PHP: Hypertext Preprozessor ursprünglich Personal Home Page Tool

PHP ist eine Skriptsprache An C, Java bzw. Perl angelehnte Syntax Ermöglicht dynamisches erstellen von

unterschiedlichen Dateien (HTML, PDF, Bildern…)

Page 5: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 5

Geschichte

PHP 1 (Personal Home Page Tool) Erschien am 08.06.1995 von Rasmus Lendorf Sammlung von Perl-Skripten

PHP 2 bzw. PHP/FI (Personal Home Page / Form Interpretor)

Erschien am 12.11.1997 von Rasmus Lendorf Umsetzung in C, Perl sehr ähnlich Relativ inkonsistent Sourcecode wurde veröffentlicht Datenbankanbindung hinzugefügt

Page 6: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 6

Geschichte Teil 2

PHP 3 (Hypertext Preprozessor) Erschien am 06.06.1998, von Andi Gutmans und

Zeev Suraski in Kooperation mit Rasmus Lendorf Brachte Verbreitung deutlich voran Erstmals Erweiterungsmöglichkeiten vorhanden

Gutmans und Suraski gründen die Firma Zend Technologies Ltd. Entwicklung der Zend Engine (PHP 4 Engine)

Page 7: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 7

Geschichte Teil 3

PHP 4 Erschien 22.05.2000 Erheblich leistungsfähiger Viele Erweiterungen wie Objektorientierung, höher

Kompatibilität usw. PHP 5

Erschien am 13.07.2004 Erweiterung der Objektorientierung PHP 5.1.0 erschien 24.11.2005, 5.2.0 erschien

02.11.2006

Page 8: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 8

Verwendungsmöglichkeiten

Serverseitige Skripte Entweder als CGI oder als Serverseitiges Modul Häufigste Anwendung von PHP

Skripte auf Kommandozeilenebene Lokale Nutzung von PHP Bearbeiten von Texten oder dynamisches

erstellen von Bildern Clientseitiger GUI Applikationen

PHP dafür eher ungeeignet, aber dennoch möglich

Page 9: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 9

Was bietet PHP als Skriptsprache an Möglichkeiten Alles muss innerhalb von speziellen Tags

stehen damit es später interpretiert wird <?php ANWEISUNGEN ?> <script

language="php">ANWEISUNGEN</script> Alle Anweisungen müssen mit einen “;“

abschließen Alle PHP Skripte müssen mit .php enden

Page 10: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 10

Was bietet PHP als Skriptsprache an Möglichkeiten Teil 2 Es gibt Variablen, Methoden, Klassen, usw. Behandlung von Exeptions Sehr leichte Anbindung von Datenbanken

oder anderen externen Modulen Versenden von Cookies, Dateien und

Headern

Page 11: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 11

Codebeispiel

<?phpclass Cart{   var $items;  // Artikel in unserem Einkaufswagen      // Füge dem Einkaufswagen $num Artikel der Sorte $artnr zu    function add_item ($artnr, $num)   {       $this->items[$artnr] += $num;   }   ?>

Page 12: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 12

Integrierter Code

Reiner PHP Code<?php

echo "Hallo Welt!"; ?>

PHP Code integriert in ein HTML Dokument<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>

<head> <title> <?php print "Hallo Welt!"; ?> </title>

</head> <body> </body>

</html>

Page 13: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 13

DatenbankanbindungVerbindungsaufbau 4 Parameter nötig

Host Username Password Database

$link = mysql_connect(HOST, USER, PASS) mysql_select_db(DATABASE, $link)

Page 14: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 14

DatenbankanbindungAnfragen, Hinzufügen, Löschen, … Zugriff auf Daten anschließend möglich

durch: $ergebnis = mysql_query(“SQL ANFRAGE“);

Mögliche Operationen: Query (Anfrage) Insert (hinzufügen) Delete (löschen) …

Page 15: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 15

Erzeugung von dynamischen Webanwendungen Dafür benötigt man:

Webserver mit PHP Unterstützung Lokal: Eigenen Webserver (z.B. Apache), PHP PHP Skripte

Anwendungsbeispiele: User klickt auf das Einkaufswagensymbol um

seine Bestellung abzuschließen User läst sich alle Threads im Forum anzeigen die

er beobachten will

Page 16: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 16

PHP als CGI vs. PHP als Modul PHP als CGI

Langsamer Mehrere PHP Versionen möglich Ausführung unter unterschiedliche User/Gruppen möglich

PHP als Modul Schneller Bei Multithreaded-Server kein nachladen von PHP-

Modulen möglich Ausführung immer unter der selben User/Gruppen HTTP-AUTH nur bei PHP als Modul möglich

Page 17: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 17

Ablauf einer Anfrage aus sicht des Clients

Client

Ich hätte gerne die index.php

Webserver

PHP

ModulMySQL

Weitere Module

1. Sendet Anfrage

2. Empfängt Antwort

Header

HTML-Dokument:<HTML> <head> …

Page 18: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 18

Ablauf einer Anfrage aus sicht des Servers

Client

Ich hätte gerne die index.php

Webserver

PHP Modul

4. Übersetzt index.php und erzeugt den Code

MySQLWeitere Module

1. Empfängt Anfrage

2. Webserver lädt index.php

3. index.php wird PHP-Interpreter übergeben

Evtl. Zugriff auf Datenbank oder anderes Modul

5. Rückgabe Des Erzeugten Codes

6. Webserver Antwortet Client und sendet ihm den erzeugten Code

Header

HTML-Dokument:<HTML> <head> …

Page 19: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 19

Vor- und Nachteile von PHP

Vorteile Leicht zu erlernen Vielseitig einsetzbar Code kann nicht gestohlen werden Open Source Für alle gängigen System verfügbar Sehr gut Dokumentiert

Page 20: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 20

Vor- und Nachteile von PHP

Nachteile Sicherheitslücke bei den übergebenen Variablen

http://example.com?variable1=“DROP TABLE“ Keine Unicode Unterstützung Langsamer, da Skriptsprache Jede Interaktion des Users muss erst vom Server

berechnet werden Einige Einstellungsmöglichkeiten die als Hilfe

gedacht waren, behindern eher

Page 21: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 21

Caches

Einmal übersetzte PHP Skripte werden gespeichert und müssen beim nächsten Aufruf nicht erneut übersetzt werden-> Performance wird verbessert

Opcode-Caches:Turck-mmCache, eAccelerator, Alternative PHP Cache, Zend Optimizer

Page 22: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 22

PHP Fazit

Einfache Möglichkeit dynamische Webanwendungen zu erstellen

Leicht zu Handhaben Weit verbreitet, gute Unterstützung

Page 23: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 23

Vielen dank für ihre

Aufmerksamkeit!

Page 24: Seminarvotrag: PHP Von Stefan Niemczyk. Stefan Niemczyk 2 Übersicht Was ist PHP? Geschichte Verwendungsmöglichkeiten Was bietet PHP Syntax Erzeugung dynamischer.

Stefan Niemczyk 24

Quellen

[1] PHP-Dokumentationsgruppe, “PHP Handbuch“, http://de3.php.net/manual/de/index.php

[2] Wikipedia, http://de.wikipedia.org/wiki/Php [3] Progman, “quakenet:#php Tutorial“, 12.06.2005, http://tut.php-q.net/ [4] Andrew S.Tanenbaum, Computernetzwerke, (4., überarbeitete Auflage),

Pearson Studium, 2003 [5] Wikibooks, http://de.wikibooks.org/wiki/

Websiteentwicklung:_PHP:_Beschreibung