php

Document Sample
php Powered By Docstoc
					Seminarvotrag: PHP


   Von Stefan Niemczyk
Übersicht

   Was ist PHP?
       Geschichte
       Verwendungsmöglichkeiten
   Was bietet PHP
       Syntax
   Erzeugung dynamischer Webanwendungen
       Ablauf
       Vor- und Nachteile
       Caches
                             Stefan Niemczyk   2
Was ist PHP?




               Stefan Niemczyk   3
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…)


                     Stefan Niemczyk           4
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

                            Stefan Niemczyk                     5
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)


                          Stefan Niemczyk                6
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

                          Stefan Niemczyk               7
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

                          Stefan Niemczyk                8
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



                        Stefan Niemczyk           9
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




                      Stefan Niemczyk            10
Codebeispiel

<?php
  class 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;
    }
    ?>

                       Stefan Niemczyk                11
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>

                              Stefan Niemczyk                     12
Datenbankanbindung
Verbindungsaufbau
   4 Parameter nötig
       Host
       Username
       Password
       Database


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

                        Stefan Niemczyk   13
Datenbankanbindung
Anfragen, 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)
       …

                              Stefan Niemczyk   14
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

                           Stefan Niemczyk              15
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


                             Stefan Niemczyk                     16
Ablauf einer Anfrage aus sicht des Clients


        Webserver    1. Sendet Anfrage

PHP                                              Client
             MySQL
Modul                                      Ich hätte gerne die
                                                index.php
  Weitere Module
                     2. Empfängt Antwort
                      Header
                      HTML-Dokument:
                      <HTML>
                       <head>
                         …

                        Stefan Niemczyk                          17
Ablauf einer Anfrage aus sicht des Servers
                                             1. Empfängt
            Webserver
                                                Anfrage                 Client
2. Webserver lädt index.php
                                                                  Ich hätte gerne die
        3. index.php wird PHP-                                         index.php
        Interpreter übergeben

PHP Modul
                        5. Rückgabe
4. Übersetzt                                                        Header
                        Des Erzeugten
index.php und           Codes                                      HTML-Dokument:
erzeugt den Code                                                   <HTML>
                                                                    <head>
      Evtl. Zugriff auf Datenbank                                     …
      oder anderes Modul                              6. Webserver Antwortet
                                                      Client und sendet ihm
  MySQL                                               den erzeugten Code
                Weitere Module


                                    Stefan Niemczyk                                 18
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




                          Stefan Niemczyk    19
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


                          Stefan Niemczyk             20
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



                     Stefan Niemczyk           21
PHP Fazit

   Einfache Möglichkeit dynamische
    Webanwendungen zu erstellen
   Leicht zu Handhaben
   Weit verbreitet, gute Unterstützung




                      Stefan Niemczyk     22
Vielen dank für ihre
 Aufmerksamkeit!




       Stefan Niemczyk   23
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




                                  Stefan Niemczyk                          24

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:10/25/2012
language:German
pages:24