Weborientierte Programmiersprachen am am Beispiel PHP

Größe: px
Ab Seite anzeigen:

Download "Weborientierte Programmiersprachen am am Beispiel PHP"

Transkript

1 Weborientierte Programmiersprachen am am Beispiel PHP Seminar Programmiersprachen SS 2004 Serak Rezane FG Programmiersprachen/-methodik FB Elektrotechnik/Informatik Universität Kassel Betreuer: Prof. Dr. Claudia Leopold Dipl. Inf. Michael Süß Inhalt Einleitung Sprachfamilie der weborientierten Skriptsprachen Funktionsumfang von PHP Sprachumfang von PHP Warum PHP? Zusammenfassung

2 Vorwort Die vorliegende Arbeit entstand im SS 2004 im Rahmen der Veranstaltung Programmiersprachen im Fachgebiet Programmiersprachen/-methodik des Fachbereichs Elektrotechnik/Informatik der Universität Kassel. Sie soll einen groben Überblick über die charakteristischen Merkmale, die Besonderheiten, mögliche Einsatzgebiete und die Ziele der Skriptsprache PHP geben. 1. Einleitung Immer mehr Adressen im World Wide Web bieten ihren Besuchern mehr als Informationen auf statischen Webseiten. Es gibt diverse Interaktionsmöglichkeiten, wie zum Beispiel Suchfunktionen, die bei Suchmaschinen oder Online-Shops Anwendung finden. Andere Adressen ermöglichen es, dem Besucher sich die Webseite individuell darstellen zu lassen oder sogar persönlich am Erscheinungsbild der Seite teilzunehmen, wie z.b. Foren, Newsgroups. Für all diese Anwendungen sind aber dynamische Webseiten erforderlich, also Seiten, deren endgültiges Erscheinungsbild erst im Moment des Aufrufs automatisch generiert wird. HTML (HyperText Markup Language) ist eine Seitenbeschreibungssprache und bietet daher weder die Möglichkeit Programmiercode abzuarbeiten, noch auf Systeminformationen, Datei- oder Datenbanksysteme zuzugreifen. Serverbasierte Skriptsprachen bieten Webdesignern heute viele Möglichkeiten, Inhalte dynamisch aufzubauen und so auf jeden Benutzer individuell zuzuschneiden. Ein Vertreter aus dieser Sprachfamilie heißt PHP: Hypertext Preprocessor, kurz PHP. Es handelt sich hierbei um eine in HTML eingebettete, plattformunabhängige und auf Web-Programmierung ausgerichtete Skriptsprache. Sie ermöglicht es, Anweisungen in HTML-Code einzufügen, um dynamische Inhalte zu erzeugen. Sie unterscheidet sich von clientseitigen Sprachen, wie JavaScript dahingegen, dass die Anweisungen vom Webserver gelesen, verarbeitet und ausgeführt werden. Rasmus Lerdorf entwickelte 1994 die erste PHP-Version und veröffentlichte sie im Juni 1995 in einer Usenet-Newsgruppe unter dem Namen Personal Home Page Tools. Ursprünglich handelte es sich dabei um eine Ansammlung von verschiedenen PERL-Skripten, die die Zugriffe auf seinen Webauftritt erfassten. Aus der ursprünglichen Implementierung wurde das in C geschriebene PHP/FI (PHP Form Interpreter). Zeev Suraski und Andi Gutmans schrieben 1997 den Sprachkern neu, der sich dann zur Grundlage von PHP 3 entwickelte. Da PHP von Anfang an Open Source war, wuchs die Anzahl der Funktionen und der Benutzer in beträchtlichem Maße. PHP ist zurzeit die aktuellste Version von PHP, aber die Freigabe von PHP 5 steht kurz bevor. 2

3 2. Sprachfamilie der weborientierten Skriptsprachen Es gibt bisher keine eindeutige und einheitliche Definition für Skriptsprachen. In der Literatur werden Skriptsprachen bzw. weborientierte Skriptsprachen anhand ihrer Eigenschaften und Einsatzgebiete klassifiziert (vgl. David Barron [Bar00]). Deshalb möchte ich mich an dieser Stelle ebenfalls darauf beschränken, typische Merkmale und mögliche Anwendungsgebiete vorzustellen, die aber nicht als allgemeingültig verstanden werden sollten Skriptsprachen Skriptsprachen stammen traditionell aus dem Bereich der Kommandozeileninterpreter (z.b. UNIX Shell). Im Laufe der Jahre haben sich moderne Skriptsprachen herausgebildet, die den normalen" Programmiersprachen auch hinsichtlich ihrer Abstraktionsmöglichkeiten (z.b. Objektorientierung) recht nahe kommen. Solche Sprachen sind im Kern allgemein verwendbar, jedoch für Spezialaufgaben konzipiert und häufig zweckgebunden eingesetzt. Es gibt beispielsweise Skriptsprachen, die Teil eines Anwenderprogramms sind und zur Automatisierung von Aufgaben oder zur Erweiterung von dessen Fähigkeiten dienen sollen. Ein bekanntes Beispiel ist Visual Basic for Applications (VBA), die Skriptsprache in Microsofts Office-Programmen. Anwender können somit neue Funktionen erzeugen, bestehende abändern und Aufgaben automatisieren (Makros). Auch webbasierte Skriptsprachen wie JavaScript oder PHP fallen in diese Kategorie Weborientierte Skriptsprachen Weborientierte Skriptsprachen sind Skriptsprachen, die speziell für die Web-Programmierung geschaffen wurden. Sie werden grundsätzlich in client- und serverseitige unterschieden. Bei clientseitigen weborientierten Skriptsprachen, zu denen JavaScript zählt, wird der Programmcode zuerst vom Server an den Webbrowser übertragen und danach ausgeführt. Das heißt, mit JavaScript kann unmittelbar auf Benutzeraktionen (Mausklicks oder Tastatureingaben) reagiert werden. Durch die clientseitige Orientierung hat man die Möglichkeit, auf das System des Benutzers mit Einschränkungen zuzugreifen. So kann man z.b. Fensterpositionen und -größen verändern, die Bildschirmauflösung bestimmen, Inhalte dynamisch verändern etc. Man muss aber dazu sagen, dass die Skripte nur vorher festgelegte Befehle ausführen können. Im Gegensatz dazu werden serverseitige Skripte direkt am Server ausgeführt, ohne dass der Benutzer den Programmcode kennt. Die Skripte generieren während der Ausführung normalen" HTML-Code, der übertragen wird. Deshalb hängt die Performance vom Server ab. 3

4 Programmiersprachen wie C werden normalerweise verwendet, um eine Applikation von Grund auf zu programmieren, inklusive sämtlicher Algorithmen, Datenstrukturen und gegebenenfalls graphischen Benutzerschnittstellen. Ein bezeichnendes Merkmal liegt darin, dass ein Compiler ein Programm komplett in Maschinencode übersetzt, bevor man es ausführen kann. Während der Entwicklung muss immer wieder neu übersetzt werden. Dafür ist das fertige Programm dann sehr schnell, da viele Prüfungen schon während der Übersetzungsphase gemacht werden können und zur Laufzeit wegfallen. Ein Programm, das in einer weborientierten Skriptsprache geschrieben wird, besteht dagegen üblicherweise aus einer gewöhnlichen Textdatei, deren Inhalt Zeile für Zeile die verschiedenen Kommandos enthält. Dabei bleibt der gesamte Code als String gespeichert und es findet keine explizite Übersetzung statt. Bei Programmausführung wird die Textdatei an den Interpreter übergeben, der dann die verschiedenen Kommandos entsprechend interpretiert und ausführt. Deshalb werden Skriptsprachen für gewöhnlich als interpretierte Sprachen bezeichnet, was nicht heißt, dass sie es alle sind, sondern sich zumindest so verhalten, als wären sie interpretiert. Bei den weborientierten Programmiersprachen ist es oft nicht zwingend erforderlich, eine Variable zu deklarieren. Diese Eigenschaft nennt man dynamische Typisierung. Diese Sprachen ermöglichen teilweise objektorientiertes Programmieren und unterstützen eine komfortable Speicherverwaltung in Form einer Garbage Collection, die übliche Probleme bei der Verwaltung des Speicherplatzes umgeht PHP als weborientierte Skriptsprache In diesem Abschnitt werde ich, die obengenannten Merkmale und Einsatzgebiete der weborientierten Skriptsprachen in PHP genauer betrachten und mögliche Abweichungen aufzeigen. Betrachtet man die Geschichte (vgl. Einleitung) von PHP, ist zu erkennen, dass diese Sprache seit Beginn an auf das Einsatzgebiet der Web-Programmierung ausgerichtet ist und somit als weborientiert bezeichnet werden kann. PHP wird serverseitig eingesetzt und kann vom Benutzer nicht eingesehen werden. Ein PHP-Skript ist nicht auf eine vorher festgelegte Art oder Anzahl an Befehlen und Funktionen gebunden. Grundsätzlich ist es möglich, fast jede Art von Aufgaben programmiertechnisch zu lösen, aber ob PHP das optimale Werkzeug darstellt, hängt vermutlich vom Einsatzgebiet ab. PHP funktioniert grundsätzlich wie andere interpretierte Skriptsprachen und anders als richtige Compilersprachen wie C oder C++, obwohl seit PHP 4 intern Bytecode erzeugt wird, der aber nach jedem Request weggeworfen wird. Denn PHP 4 ist ein Bytecode-Compiler, der beim Programmstart aufgerufen wird und das komplette Programm in eine interne Darstellung 4

5 einer virtuellen Maschine überführt. Danach beginnt die Interpretation des Bytecodes der Virtual Machine. Dies ist dasselbe Funktionsprinzip wie bei Perl, und ähnlich dem von Java, bei dem jedoch im Unterschied dazu der Compiler explizit aufgerufen werden muss. Das entspricht einer leichten Abweichung von der klassischen Definition einer interpretierten Sprache, die ohne Compiler arbeitet. Mittlerweile erzeugen einige interpretierte Sprachen einen sogenannten Bytecode, um die schlechtere Performance gegenüber kompilierten Sprachen zu kompensieren. Ein weiteres Merkmal von PHP besteht in der dynamischen Typisierung von Variablen, d.h der Typ einer Variablen muss nicht explizit festgelegt werden, da er sich in PHP dynamisch durch Zuweisung ergibt. Weiterhin unterstützt PHP die Objektorientierte Programmierung (OOP). Es werden Klassen und Vererbung unterstützt. Zwar ist die von PHP unterstützte OOP nicht so stark ausgeprägt, für eine weborientierte Skriptsprache jedoch recht umfangreich. Die Verwaltung des Speicherplatzes übernimmt die Garbage Collection. 3. Funktionsumfang von PHP 3.1. Was kann PHP PHP ist hauptsächlich auf serverseitige Skripte fokussiert, weshalb sie alles tun kann, was auch ein anderes CGI Programm kann, wie z.b. Formulardaten sammeln, dynamische Inhalte für Websites generieren oder Cookies senden und empfangen. Aber PHP kann noch viel mehr. [phpman04] Es gibt drei Gebiete, in denen PHP Skripte eingesetzt werden können: 1. Serverseitige Skripte zur Benutzung mit einem Browser. 2. Skripte auf der Kommandozeile, z.b. zur Automatisierung von Aufgaben. Hierfür wird nur der Interpreter benötigt und weder Browser noch Web-Server. 3. Clientseitige GUI-Applikationen, d.h. komplexere Programme mit eigener Benutzeroberfläche, obwohl PHP hierfür nicht unbedingt die optimale Lösung darstellt. Da der serverseitige Einsatz von PHP sehr weit verbreitet ist, werde ich mich in den folgenden Kapiteln auf das Einsatzgebiet der Web-Programmierung beschränken. 5

6 3.2. Voraussetzungen für die PHP-Programmierung PHP kann auf allen gängigen Betriebssystemen, wie Linux, vielen Unix-Varianten, Microsoft Windows oder Mac OS X verwendet werden. Außerdem unterstützt PHP auch die meisten der gebräuchlichen Web-Server wie Apache, Microsoft Internet Information Server, OmniHTTPd und viele weitere. Üblicherweise wird PHP von vielen Anbietern (Web-Hosts) unterstützt, wobei man lediglich die.php-dateien erstellen und sie in das Web-Verzeichnis legen muss. Der Server parst sie dann automatisch. Falls man aber lokal entwickeln und testen möchte, muss man die nötigen Programme installieren. Man kann diese Programme entweder eins nach dem anderen selbst installieren oder nach einem vorkonfigurierten Paket suchen. In diesem Fall gibt es die Möglichkeit, sogenannte LAMP oder WAMP Kombinationen zu nutzen. LAMP beschreibt die Kombination aus dem Betriebssystem Linux, dem Web-Server Apache, der Datenbank MySQL und der Skriptsprache PHP bzw. Perl. Diese Zusammenstellung wird aufgrund ihrer Leistungsfähigkeit und der kostenlosen Verfügbarkeit immer häufiger als Basis für interaktive Web-Seiten gewählt. Neben LAMP gibt es noch WAMP, wobei es sich hierbei um die Verwendung unter Windows handelt. PHP unterstützt ebenfalls die Erweiterung durch Werkzeuge wie Optimizer, Debugger oder Profiler als sogenannte Plug-In-Module, die sowohl kommerziell, als auch kostenlos zu beziehen sind [php4faq] Wie funktioniert PHP? Bei der PHP-Programmierung wird nicht HTML in die Programmiersprache eingebettet, sondern PHP in HTML eingebunden. Diese Dateien heißen dann nicht mehr.html oder.htm, sondern.php3 oder.php. An dieser Dateiendung erkennt der Webserver, dass es sich um eine in PHP geschriebene Datei handelt und ruft den PHP-Präprozessor auf, bevor die Datei an den Benutzer geschickt wird. Für die Einbindung in HTML gibt es mehrere Möglichkeiten, allen gemeinsam ist jedoch, dass der eigentliche PHP-Code zwischen einem öffnenden und einem schließenden Tag steht, der den Code für den PHP-Interpreter markiert: <?php...?> <??> <script language= php > </script> <% %> 6

7 Bespiel 1: <html> <body> <?php echo "Hallo, heute ist der".date( d.m.y );?> </body> </html> Wenn diese Seite nun vom Server aufgerufen wird, zeigt der Browser Hallo, heute ist der... (incl. des aktuellen Datums) an. Der Befehl echo gibt Texte auf dem Bildschirm aus und die Funktion date() ermittelt das aktuelle Datum auf dem Server. Wenn man nun den Quellcode der ausgegebenen Seite betrachtet, dann fällt auf, dass der PHP-Code durch HTML ersetzt wurde. Dies liegt daran, dass der Code vom Server verarbeitet und als HTML zurück an den Browser gesendet wurde. Die Codebereiche vor und nach dem PHP-Code sind also statisch, der Teil innerhalb des Body-Tags in diesem Beispiel wird für die Ausgabeseite dynamisch erzeugt. PHP Anweisungen werden wie in C durch ein Semikolon abgeschlossen. Wenn dieses vergessen wird, führt dies immer zu Fehlern bei der Verarbeitung des Skripts auf dem Server Ablauf einer PHP-Anfrage An dieser Stelle möchte ich kurz den Datenfluss bei Aufruf einer Webseite erläutern. Abbildung 1: Datenfluss Ein Client schickt eine Anfrage (HTTP Request) über seinen Browser an den Web-Server. Der Server reicht die Anfrage an PHP weiter, falls die Dateiendung darauf hinweist, dass es sich um eine Seite mit PHP-Code handelt. Nun wird die entsprechende Datei von der Festplatte des Servers (Web Server Disk) geladen. Diese Dateiendung ist das versionsneutrale.php, sowie.php3 und.php4 für die PHP Versionen 3 und 4. Falls es sich um eine PHP-Datei handelt, wird sie zur Bearbeitung an den PHP-Prozessor übergeben, der die in den Tags stehenden Befehle herausfiltert, interpretiert und die 7

8 entsprechenden Stellen in der HTML-Datei durch den Output des PHP-Skripts ersetzt. Die erhaltene Ausgabe (z.b. HTML-Code) wird an den Web-Server geliefert. Letztendlich schickt der Web-Server die Ausgabe an den Client Funktionen PHP verfügt schon in seiner grundlegenden Form über eine sehr große Anzahl verschiedener Bibliotheken und Funktionen, daher werde ich mich auf einige wenige beschränken. In der Literatur, wie von Wenz und Hauser [WeHa04] beschrieben, wird oft betont, dass die Datenbank- und Dateifunktionen eine der größten Stärken von PHP darstellen. Es werden zahlreiche Datenbanken, allen voran die des Datenbankmanagementsystems MySQL unterstützt. Große Webseiten kommen heutzutage kaum ohne eine Datenbank aus, wobei die Geschwindigkeit und der Umfang der Zugriffsmöglichkeit durch die Skriptsprache einen entscheidenden Einfluss auf die Qualität der Seite haben. Neben MySQL werden zahlreiche Datenbanken durch PHP direkt unterstützt, wie Adabas D, Informix oder ODBC. Darüber hinaus existieren Funktionen für die allgemeinen Datenbankschnittstellen des SQL-Standards, so dass auch nicht direkt unterstützte Datenbanken mit PHP zusammenarbeiten können. Kleinere Datenmengen können auch in Textdateien abgelegt werden. Dies war vor allem interessant, als die Anbieter von billigerem Webspace zwar PHP, jedoch keine Datenbanken bereitstellten. Die Dateifunktionen beinhalten die Möglichkeit zum Auslesen und Manipulieren, sowie das Packen und Entpacken von Verzeichnissen und Dateien. PHP stellt auch Funktionen zum Zugriff auf Dateien durch das File Transfer Protokoll (FTP) bereit, was teilweise mit der Möglichkeit zum Dateiupload durch Besucher einer Webseite gekoppelt wird. Das Erzeugen generischer Bilder, das durch die GD-Bibliothek von PHP ermöglicht wird, eignet sich zum Einsatz bei graphischen Countern sowie für zugbasierte Online-Spiele. Mit PHP lassen sich sogar PDF-Dateien und Shockwave-Flash-Animationen erzeugen. Für alle weiteren Funktionen verweise ich auf das PHP Handbuch, das stets aktuell alle verfügbaren Funktionen beschreibt. 4. Sprachumfang von PHP 4.1. Sprachelemente Im Folgenden werde ich kurz anhand eines Beispiels auf einige Sprachelemente von PHP eingehen und verweise für tiefergehende Informationen über die Syntax auf das PHP Handbuch [phpman04]. 8

9 Die Syntax von PHP ähnelt stark der von C, diese ist auch Grundlage für andere Programmiersprachen wie C++ und Java, wobei man sagen muss, dass sie sehr bei weitem nicht so komplex ist. Anders als in modernen Hochsprachen, in denen oft versucht wird, Funktionalität nicht in der Sprache selbst, sondern in optionalen Zusatzmodulen zu verankern, bietet PHP von Haus aus einen für die Web-Programmierung umfassenden Sprachschatz. Der Programmierer muss nicht erst auf die Suche nach vorhandenem Code gehen, sondern hat meist die notwendigen Befehle, z.b. für Strings oder Cookies, verfügbar. Beispiel 2: <html> <head> <title>php Beispiel</title> </head> <body> <h1>beispiel mit einer globalen Variable</h1> <?php //das ist ein Kommentar $number = 13; function showit() { global $number; echo Hier ist die Zahl: $number ; print ( Hier ist die $number nochmal! ); } showit(); /* Das ist auch ein Kommentar */?> </body> </html> Was in Beispiel 2 auffällt ist, dass es in PHP anscheinend keine Datentypen gibt. Variablen, die durch das $-Zeichen gekennzeichnet werden, kann ein beliebiger Wert zugewiesen werden, da die Typbestimmung von PHP intern ermittelt wird. Auf der einen Seite mag dies für Anfänger eine Erleichterung darstellen, aber es kann ebenfalls schnell zu Fehlern führen, falls die Programmierer nicht darauf achten, welchen Typ eine Variable gerade hat. Es sind jedoch casts wie in C erlaubt, mit denen man den Typ selbst festlegen kann. In diesem Beispiel wird der Variablen number der int-wert 13 zugewiesen und wie aus anderen Sprachen bekannt, gelten Variablen nur innerhalb des Gültigkeitsbereichs in dem sie definiert werden. In der Funktion showit würde die Variable 9

10 daher nicht sichtbar sein. Mit dem Schlüsselwort global kann man PHP aber mitteilen, dass die Variable in einem globalen Zusammenhang bereits existiert. Die Variable wird damit samt Inhalt übernommen und Änderungen an der Variablen wirken sich dann natürlich auch global aus. Das Beispiel macht nichts anderes als zweimal den Text auszugeben, der den Wert der Variablen number enthält. Dabei wurden die echo-anweisung und die print-funktion benutzt. Der Unterschied ist, dass echo keine Funktion ist und je nach Anwendungsgebiet kann sich die eine oder die andere Methode besser eignen. Auch wenn das Beispiel nur einen kleinen Teil des Sprachumfangs von PHP zeigt, ist jedoch erkennbar, dass die Syntax sich stark an anderen Sprachen orientiert und erfahrene Programmierer sich schnell zurechtfinden können. Mit Hilfe der besonderen Befehle require() und include() können andere Dateien in ein Skript geladen werden, was die Modularisierung von PHP unterstützt. Alle arithmetischen, logischen, Vergleichs- und Bitoperatoren sind analog zu C definiert. Es existiert ein sogenannter Fehlerkontrolloperator, der mit vor einem Ausdruck angegeben wird, der mögliche Fehler unterdrückt und Fehlermeldungen ausgibt. PHP unterscheidet nicht zwischen Vektoren und assoziativen Arrays, d.h. dasselbe Array kann sowohl mit Nummern als auch mit Strings indiziert werden. Wie in C++ kennt PHP zwar Referenzen auf Variablen, aber keine Pointer. Die grundlegenden Kontrollstrukturen unterscheidenen sich nicht von denen in C, JavaScript oder Java. So kann man ebenfalls auf if-schleifen und ihre Varianten zurückgreifen, genauso wie auf while- und for-schleifen. Für die Parameterübergabe an nachfolgende Seiten sind die GET- und POST-Methoden zuständig.die GET-Methode erlaubt eine einfache Weitergabe von Informationen an nachfolgende Seiten eines Webservers. Die Daten werden bei der Get-Methode mit Hilfe der URL transportiert. Die POST-Methode sollte hingegen verwendet werden, wenn erstens große Datenmengen an eine Folgeseite übergeben werden müssen und zweitens, wenn eine Manipulation der Übergabewerte erschwert werden soll. Die POST-Methode verwendet das Formularelement von HTML. Die Daten werden nicht über die URL transportiert und sind somit für den Benutzer bei der Übergabe nicht sichtbar. Die Formularelementenamen können generell auf der Folgeseite als Variablen angesprochen werden. Obwohl PHP die Fähigkeit besitzt, mit Klassen umzugehen und sich damit von einigen anderen Programmiersprachen abhebt, werden Java oder C++ Programmierer wahrscheinlich etwas enttäuscht sein. Es gibt keine strenge Vererbungslehre oder Polymorphismus wie in C++. Das macht auch wenig Sinn, wenn man bedenkt, dass alle definierten Klassenobjekte nach der Abarbeitung eines PHP-Skriptes wieder zerstört werden und somit nur temporär im RAM des Servers enthalten sind. Dennoch sind Klassen mächtige Werkzeuge bei umfangreicheren 10

11 Projekten, was noch mal zur Übersichtlichkeit und Wartungsfreundlichkeit des Codes beiträgt [LeTa03] Sprachentwurf Wie unterstützt der Sprachentwurf von PHP die allgemeinen Ziele Verständlichkeit, Zuverlässigkeit, Effizienz und Portabilität? PHP verfügt von Anfang an über eine große Menge an Erweiterungsmodulen für verschiedene Anwendungszwecke. Die Syntax ist an die von C und Java angelehnt, auf diese Weise baut PHP kaum Einstiegshürden auf. Zusammen mit dem hervorragenden PHP Handbuch kommen sogar Einsteiger schnell zu brauchbaren Ergebnissen. Mit PHP kann man zwar eigene Funktionen erstellen, aber diese stehen meist in der gleichen Datei wie der HTML-Code. Möglichkeiten zur Trennung von Programm-Logik und Darstellungen sind bei PHP nur ansatzweise vorhanden. Bei schnell entwickelten Anwendungen besteht die Gefahr, dass sie sich letztlich als unübersichtlich und als schlecht zu pflegendes Projekt erweisen können. Durch die dynamische Typisierung können sich schnell Fehler einschleichen, die aber teilweise durch die vorhandenen Fehlerbehandlungsmöglichkeiten aufgefangen werden können. Dadurch, dass PHP speziell für die Web-Programmierung entwickelt wurde und über alle vorstellbaren Funktionen auf diesem Gebiet verfügt, ist es möglich, mit relativ geringem Aufwand viel zu erreichen. Ein PHP Skript benötigt keine Bibliotheken und spezielle Compilerdirektiven und besteht somit nur aus so vielen Zeilen, wie für die entsprechende Aufgabe benötigt werden. Die Eigenschaft der Effizienz kommt Mehrbenutzerumgebungen zugute, z.b. durch Mechanismen zur Ressourcenzuordnung und Sitzungsverwaltung. Zudem ist PHP sehr flexibel, da sie nicht nur in HTML, sondern in JavaScript, WML oder ASP eingebettet werden kann. Die Portabilität ergibt sich dadurch, dass PHP keinen serverspezifischen Quellcode enthält und von vielen gängigen Web-Servern unterstützt wird. 5. Warum PHP? Die eigentliche und spannende Frage ist aber, warum man PHP benutzen sollte? Es gibt eine ganze Reihe von Vorteilen. PHP ist eine junge Programmiersprache. Durch Betrachtung der Nachteile bereits bestehender (Skript-)Sprachen wurde bei der Implementierung darauf geachtet, dass PHP die bekannten Nachteile außen vor lässt, dabei aber Vorteile anderer Sprachen bestmöglich integriert. Ein großer Vorteil an PHP ist, dass es als Open Source frei erhältlich ist und durch die Beteiligung zahlreicher Programmierer gewachsen und weit verbreitet ist. Dadurch gibt es für nahezu alle denkbaren Aufgaben bereits Funktionen oder 11

12 Bibliotheken, die sie lösen. Die Sprache ist relativ einfach zu erlernen, im Vergleich zu anderen Sprachen, wie z.b. Perl. PHP ist plattformunabhängig, somit lassen sich plattformübergreifende Skripte erstellen. Es sind sogar Programme mit eigener Benutzeroberfläche möglich, wenngleich PHP für solche Anwendungen nicht gerade optimal geeignet ist. Ein Vorteil gegenüber Perl ist die konsequente Ausrichtung auf Web-Server und der damit verbundene Geschwindigkeitsvorteil und die geringere Serverbelastung, die sich aber auch nur dadurch ergibt, das PHP als Modul im Server eingebunden ist. Das bedeutet, dass PHP ein Teil des Web-Servers wird und immer geladen ist. Somit entfällt der Overhead der Prozesserzeugung. Herausragend ist auch die umfangreiche und einfache Unterstützung zahlreicher Datenbanken ebenso wie die Unterstützung von Sessions. 1 Natürlich hat PHP auch Nachteile. Beispielsweise ist Objektorientierte Programmierung nur beschränkt möglich, obwohl PHP bereits seit Version 3 die Funktionalitäten, wie Klassen besitzt, um OOP zu unterstützen. Bisher ist jedoch die gesamte Standardbibliothek prozedural angelegt. Dieser Missstand soll aber mit PHP 5 behoben werden. Durch die Verwendung von PHP kann es zu einer erhöhten Serverbelastung kommen, falls beispielsweise Benutzereingaben in ein Formular immer nur auf dem Server geprüft werden. Mit dem Einsatz eines zusätzlichen JavaScripts kann dieser Nachteil umgangen werden, wenn schon auf der Clientseite eine gewisse Syntaxprüfung der Eingaben erfolgt. Dies ersetzt zwar nicht die Prüfung auf Korrektheit auf dem Server, aber die Prüfung muss eventuell dann nur einmal durchgeführt werden. Es mag die Frage aufkommen, ob es nicht noch weitere Sprachen gibt, die denselben Zweck erfüllen. Darunter sind kommerzielle (ASP von Microsoft oder ColdFusion von Macromedia) und kostenlose (wie Perl oder JSP). Ich werde die ebenfalls weborientierte Skriptsprache Java Server Pages (JSP) vorstellen und aufzeigen, dass die Unterschiede nicht wirklich gravierend sind. JSP ist eine von Sun Microsystems entwickelte serverseitige Skriptsprache, die ebenfalls zur dynamischen Erzeugung von Web-Inhalten geschaffen wurde. Das Prinzip von JSP basiert auf der Einbindung von Java-Code in HTML. Dateien mit der typischen Endung.jsp werden vom Server beim Aufruf an einen JSP-Compiler übergeben, der daraus ein Java-Servlet/Applet kompiliert. Ein Java-Servlet ist ein kompiliertes Programm, das auf dem Webserver agiert, wohingegen ein Java-Applet für die Ausführung im Browser auf der Clientseite vorgesehen ist. Eine JSP-Seite besteht also wie bei PHP aus HTML-Code mit eingebettetem JSP-Code [wiki]. Bis zu diesem Punkt lassen sich kaum Unterschiede zwischen PHP und JSP ausmachen, aber JSP profitiert durch seinen 1 Ähnlich wie Cookies, nur das Informationen auf Server anstatt auf Client-Rechner gespeichert werden. 12

13 Hintergrund vom gesamten Java-Sprachumfang samt Bibliotheken. Positiv ist, dass die gesamte JSP-Technologie ebenfalls frei erhältlich ist und von jeder Plattform unterstützt wird. Ein Nachteil für Einsteiger könnte die Java-Programmierung darstellen, da die Sprache nicht für jedermann leicht zu erlernen ist. 6. Fazit Abschließend kann ich sagen, dass PHP eine sinnvolle (und kostenlose) Möglichkeit zur Umsetzung dynamischer Web-Inhalte bietet. Sie ist eine vielseitige und einfach anzuwendende weborientierte Skriptsprache, die auf ihrem Einsatzgebiet über alle nötigen Eigenschaften verfügt, um den Vergleich mit kommerziellen Produkten standzuhalten. Eine generelle Empfehlung, ob und wann PHP eingesetzt werden sollte, ist kaum möglich, da diese Entscheidung von vielen Faktoren abhängt. 13

14 Literaturverzeichnis [Bar00] Barron, D. W.: The World of Scripting Languages. Wiley 2000 [LeTa03] Lerdorf, R., Tatroe, K.: Programmieren mit PHP. O`Reilly 2003 [LiWi03] Linke, M. & Winkler, P. :Das M+T Computerlexikon. Heyne 2003 [WeHa04] Wenz & Hauser: Webservices mit PHP. Galileo Computing 2004 [phpman04] PHP Handbuch WWW: [phpnet] [php4faq]http://go4xml.com/kurs/php/faq/faq-version4.php 2004 [wiki] Abbildungsverzeichnis: 1. Datenfluss 14

Weborientierte Programmiersprachen am Beispiel PHP

Weborientierte Programmiersprachen am Beispiel PHP Weborientierte Programmiersprachen am Beispiel PHP Serak Rezane Seminar Programmiersprachen SS 2004 Betreuer: Prof. Dr. Claudia Leopold Dipl.-Inf. Michael Süß Was ist PHP? Gliederung (Definition, Geschichte,

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Einführung in die Skriptsprache PHP

Einführung in die Skriptsprache PHP Einführung in die Skriptsprache PHP 1. Erläuterungen PHP ist ein Interpreter-Programm, das auf dem Server abgelegte Dateien dynamisch, d.h. zur Zeit des Zugriffes, aufbereitet. Zusätzlich zum normalen

Mehr

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

IT-Zertifikat: Allgemeine Informationstechnologien II PHP IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,

Mehr

Existierende Systeme I Bibliotheken & Frameworks

Existierende Systeme I Bibliotheken & Frameworks Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen Existierende Systeme I Bibliotheken & Frameworks Von Christian Schneider Paderborn, den 18.06.2004 Übersicht Motivation Dynamische

Mehr

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1 2D22 1 Inhalte der Lehrveranstaltung Einführung in die Programmierung mit PHP Literatur: Theis, Thomas (2010): Einstieg in PHP 5.3 und MySQL 5.4. [für Programmieranfänger geeignet]. 6., aktualisierte Aufl.

Mehr

Kurze Einführung in PHP

Kurze Einführung in PHP Kurze Einführung in PHP Dieser Text ist eine Art "Schnupperkurs" in Sachen PHP: Sie lernen Grundsätzliches über dynamische Webseiten und PHP. Außerdem lernen Sie drei typische Anwendungsbeispiele für PHP

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme

Mehr

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 4 PHP SS 2004 Inhaltsverzeichnis 1. PHP die serverseitige Programmiersprache...1 1.1. PHP - Bereiche in HTML definieren...1

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

Dynamische Webanwendungen

Dynamische Webanwendungen Dynamische Webanwendungen Mohamed Said Seminar Moderne Informatik Universität Dortmund SS 2003 Mohamed Said / 2003-05-30 1 Überblick Einleitung (Konzept) Client-seitiges Skripting mit JavaScript CGI Server-seitiges

Mehr

Einführung in die Scriptsprache PHP

Einführung in die Scriptsprache PHP Herbst 2014 Einführung in die Scriptsprache PHP Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW - Rainer Telesko / Martin Hüsler 1 Inhalt:

Mehr

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten CGI einfach PHP Dynamik bis zur DB-Interaktion 1 CGI Möglichkeiten Das Common Gateway Interface (CGI) ermöglicht den Entwurf von interaktiven, benutzergesteuerten Web-Applikationen. Der WWW-Server ruft

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Angreifbarkeit von Webapplikationen

Angreifbarkeit von Webapplikationen Vortrag über die Risiken und möglichen Sicherheitslücken bei der Entwicklung datenbankgestützter, dynamischer Webseiten Gliederung: Einführung technische Grundlagen Strafbarkeit im Sinne des StGB populäre

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Dynamische Webseiten

Dynamische Webseiten Dynamische Webseiten Seminar Medientechnik 30.06.2003 Dynamische Webseiten 1 Inhalt Allgemeine Funktionsweise eines Webservers Grundgedanke von dynamischen Webseiten Einschub: Dynamische Seitenerzeugung

Mehr

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter

Konzept eines Datenbankprototypen. 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Konzept eines Datenbankprototypen 30.06.2003 Folie 1 Daniel Gander / Gerhard Schrotter Inhalt (1) Projektvorstellung & Projektzeitplan Softwarekomponenten Detailierte Beschreibung der System Bausteine

Mehr

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort 1.3 PHP Vorzüge Erlernbarkeit Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP im Gegensatz zu anderen Sprachen ausschließlich für die Webserver-Programmierung

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

Datenbank-basierte Webserver

Datenbank-basierte Webserver Datenbank-basierte Webserver Datenbank-Funktion steht im Vordergrund Web-Schnittstelle für Eingabe, Wartung oder Ausgabe von Daten Datenbank läuft im Hintergrund und liefert Daten für bestimmte Seiten

Mehr

Kapitel 5 Serverseitige Technologien

Kapitel 5 Serverseitige Technologien Kapitel 5 Serverseitige Technologien Multimediale Web-Anwendungen Dr. E. Schön Sommersemester 2015 Folie 70 SSI-Beispiele Uhr

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1. Multimediale Web-Anwendungen JavaScript Einführung MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1 Entstehungsgeschichte: JavaScript 1995 Netscape Communications Corp. (Brendan Eich)

Mehr

Herzlich willkommen im Modul Informatik Grundlagen

Herzlich willkommen im Modul Informatik Grundlagen Herbstsemester 2010/2011 Herzlich willkommen im Modul Informatik Grundlagen Wirtschaftsingenieurwesen: 1. Semester Dozent: Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler 1 Ablauf: 1.

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Programmieren von Webinformationssystemen

Programmieren von Webinformationssystemen Programmieren von Webinformationssystemen Wolfgang Gassler Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 HTML Hypertext Markup

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

Mehr

Inhaltsverzeichnis. 1 Hallo 13

Inhaltsverzeichnis. 1 Hallo 13 1 Hallo 13 2 Grundlagen 15 2.1 Das Internet 15 2.1.1 Geschichte des Internets 15 2.1.2 Kommunikation mit TCP/IP 16 2.1.3 Anwendungen im Internet 18 2.1.4 HTTP unter der Lupe 20 2.2 Webserver, PHP und MySQL

Mehr

Recherchebericht. Eine URL (Uniform Resource Locator; dt. einheitlicher Quellenanzeiger ) lokalisiert eine Ressource, wie eine Website, und ihren Ort.

Recherchebericht. Eine URL (Uniform Resource Locator; dt. einheitlicher Quellenanzeiger ) lokalisiert eine Ressource, wie eine Website, und ihren Ort. Recherchebericht Begriffe: Ein Betriebssystem ist eine Software, die die Schnittstelle zwischen den Hardwarekomponenten und der Anwendungssoftware bildet. Es verwaltet die Hardwareressourcen, wie Arbeitsspeicher,

Mehr

Installation SuperWebMailer

Installation SuperWebMailer Installation SuperWebMailer Die Installation von SuperWebMailer ist einfach gestaltet. Es müssen zuerst per FTP alle Dateien auf die eigene Webpräsenz/Server übertragen werden, danach ist das Script install.php

Mehr

1 Einleitung. 1.1 Dynamische Webauftritte. »Stillstand besitzt die größte Dynamik... «Prof. Dr.-Ing. Alfred Mack

1 Einleitung. 1.1 Dynamische Webauftritte. »Stillstand besitzt die größte Dynamik... «Prof. Dr.-Ing. Alfred Mack 3 1 Einleitung»Stillstand besitzt die größte Dynamik... «Prof. Dr.-Ing. Alfred Mack In diesem Kapitel erklären wir zunächst die grundlegende Technik hinter dynamischen Webauftritten und erläutern dabei

Mehr

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Tutorial In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Zu Beginn müssen wir uns über die gewünschten Sprachen Gedanken machen. Zum einem, da eine professionelle

Mehr

Funktionen in PHP 1/7

Funktionen in PHP 1/7 Funktionen in PHP 1/7 Vordefinierte Funktionen in PHP oder vom Entwickler geschriebene Funktionen bringen folgende Vorteile: gleiche Vorgänge müssen nur einmal beschrieben und können beliebig oft ausgeführt

Mehr

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte Webprogrammierung SVEN LETZEL FRIEDHELM BETZ Inhaltsverzeichnis jetzt lerne ich Hallo! 15 1 Grundlagen 17 1.1 Das Internet

Mehr

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Skriptsprachen Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby 16.10.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

1 Installation von MySQL... 5 2 Installation von PHP... 6. Wiederholungsfragen zu Kapitel 1... 9

1 Installation von MySQL... 5 2 Installation von PHP... 6. Wiederholungsfragen zu Kapitel 1... 9 PHP & MySQL: Inhaltsverzeichnis Inhalt Kapitel 1: Installation von MySQL und PHP 1 Installation von MySQL... 5 2... 6 Wiederholungsfragen zu Kapitel 1... 9 Kapitel 2: Syntax und Textausgabe 1 Syntax und

Mehr

Herzlich willkommen im Modul Web-Engineering

Herzlich willkommen im Modul Web-Engineering Herbst 2014 Herzlich willkommen im Modul Web-Engineering Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler und Rainer Telesko

Mehr

Inhalt. Vorbemerkungen... 1

Inhalt. Vorbemerkungen... 1 Vorbemerkungen...................................................... 1 1 Einleitung........................................................ 9 1.1 Statik und Dynamik............................................

Mehr

Skriptsprachen am Beispiel Python

Skriptsprachen am Beispiel Python Seminar Programmiersprachen Skriptsprachen am Beispiel Python Norman Thomas 8. Juni 2004 Überblick Was sind Skriptsprachen? Was ist Python? Python und Syntax Datentypen Kontrollstrukturen Module Ausführung

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Web und Mobile Apps Programmieren mit Dart

Web und Mobile Apps Programmieren mit Dart Web und Mobile Apps Programmieren mit Dart Marco Jakob Kalaidos Fachhochschule Schweiz majakob@gmx.ch Abstract: Bisher war es kaum realistisch, im Anfängerunterricht mobile oder webbasierte Applikationen

Mehr

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien. Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten

Mehr

JAVA als erste Programmiersprache Semesterkurs

JAVA als erste Programmiersprache Semesterkurs JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik

Mehr

Sachwortverzeichnis... 251

Sachwortverzeichnis... 251 Inhalt Vorwort... V 1 WWW World Wide Web... 1 1.1 Das Internet Infrastruktur und Administration... 2 1.2 Datenübertragung... 4 1.3 Sprachen im Web... 6 1.4 Webseiten... 7 1.4.1 Clientseitige Dynamik...

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

42: Das Erste-Hilfe- System im WWW

42: Das Erste-Hilfe- System im WWW INFOS & KOMMUNIKATION 42: Das Erste-Hilfe-System im WWW Technische Grundlagen Aufruf und Bedienung Themen Weitere Informationsquellen Forschungs- & Entwicklungsberichte Implementierung eines 3D-Strömungscodes

Mehr

Wolfgang Dehnhardt: JavaScript, VBScript, ASP, Perl, PHP, XML: Scriptsprachen für dynamische Webauftritte, Carl Hanser 2001

Wolfgang Dehnhardt: JavaScript, VBScript, ASP, Perl, PHP, XML: Scriptsprachen für dynamische Webauftritte, Carl Hanser 2001 8. Skriptsprachen 8.1 Clientseitige Web-Skripte: JavaScript 8.2 Document Object Model (DOM) 8.3 Serverseitige Web-Skripte: PHP Weiterführende Literatur: Wolfgang Dehnhardt: JavaScript, VBScript, ASP, Perl,

Mehr

HTTP-Server. Frank Wübbeling Universität Münster

HTTP-Server. Frank Wübbeling Universität Münster HTTP-Server Frank Wübbeling Universität Münster Aufgaben des Servers Input/Output (Port eröffnen etc.) Aufnehmen der Anforderungen Bereitstellung des Inhalts Bereitstellung der Header Erzeugung von Hintergrundinfos

Mehr

0. Einführung. C und C++ (CPP)

0. Einführung. C und C++ (CPP) C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,

Mehr

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6.

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6. Seminar Webprogrammierung WS04/05 6. Juni 2005 1 Einleitung Die Vorgeschichte Java-Servlets 2 Merkmale Von der JSP zur HTML-Ausgabe Syntax 3 4 5 Die Vorgeschichte Java-Servlets Einleitung Ansätze für dynamische

Mehr

Informatik Programmiersprachen eine kurze Übersicht

Informatik Programmiersprachen eine kurze Übersicht Informatik eine kurze Übersicht Seite 1 natürliche Sprachen (nach Wikipedia) ca 6500 gesprochene Sprachen davon etwa die Hälfte im Aussterben etwa 500 Schriftsprachen mit gedruckten Texten P. Bueghel Turmbau

Mehr

Webseiten-Programmierung

Webseiten-Programmierung Webseiten-Programmierung Sprachen, Werkzeuge, Entwicklung Bearbeitet von Günter Pomaska 1. Auflage 2012. Taschenbuch. xii, 255 S. Paperback ISBN 978 3 8348 2484 4 Format (B x L): 16,8 x 24 cm Weitere Fachgebiete

Mehr

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten Kommunikationsnetze 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten Gliederung 1. Einführung 2. Server-basierte Techniken 3. Client-basierte techniken Literatur: A. S. Tanenbaum, Computer

Mehr

Webdesign mit HTML und CSS Einführungsabend

Webdesign mit HTML und CSS Einführungsabend Einführungsabend Die eigene Internetseite Hypertext und html Das HTML Grundgerüst HTML-Editoren Skriptsprachen im WWW Rechtliche Absicherung Suchmaschinenoptimierung Das HTML Grundgerüst HTML ist ein Kompromiss

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

LEHRPLAN. Webprogrammierung. Fachoberschule. Fachbereich Wirtschaft. Fachrichtung Wirtschaftsinformatik

LEHRPLAN. Webprogrammierung. Fachoberschule. Fachbereich Wirtschaft. Fachrichtung Wirtschaftsinformatik LEHRPLAN Webprogrammierung Fachoberschule Fachbereich Wirtschaft Fachrichtung Wirtschaftsinformatik Ministerium für Bildung, Kultur und Wissenschaft Hohenzollernstraße 60, 66117 Saarbrücken Postfach 10

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

DAS EINSTEIGERSEMINAR PHP 5.3 LERNEN ÜBEN ANWENDEN. Oliver Leiss Jasmin Schmidt. 3. Auflage

DAS EINSTEIGERSEMINAR PHP 5.3 LERNEN ÜBEN ANWENDEN. Oliver Leiss Jasmin Schmidt. 3. Auflage DAS EINSTEIGERSEMINAR PHP 5.3 Oliver Leiss Jasmin Schmidt 3. Auflage LERNEN ÜBEN ANWENDEN Vorwort... 13 Einleitung... 15 Was ist PHP?... 15 PHP gezielt einsetzen... 16 Neuerungen in PHP 5.3... 16 Der Umgang

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Entstehung von Java 1991 entwickeln Mike Sheridan, James

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

FileMaker und PHP Workshop

FileMaker und PHP Workshop FileMaker und PHP Workshop 2-stündiger Ausschnitt aus einem 3-tägigen Schulungsprogramm Bernhard Schulz FileMaker Konferenz 2010 / Zürich Ziel des Workshops Kennenlernen von PHP Möglichkeiten von FileMaker

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung VIII. Common Gateway Interface(CGI) & PHP mailto:wpr@gruner.org 1 12 Common Gateway Interface Von allen Webservern unterstützt Anzubindende Programme => Gateway zu bestehenden

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

DATENFORMATE IM INTERNET

DATENFORMATE IM INTERNET DATENFORMATE IM INTERNET Steffen Petermann Projekt reisefieber:// BILDFORMATE JPG / GIF / PNG / SVG MULTIMEDIA FLASH / SHOCKWAVE TEXT-BASIERTE FORMATE HTMP / CSS / JS / CGI / PHP AUDIO & VIDEO MP3 / MOV

Mehr

1 Installationen. 1.1 Installationen unter Windows

1 Installationen. 1.1 Installationen unter Windows 1 Installationen Dieses Kapitel beschreibt die Installationen, die für die Nutzung von PHP und MySQL unter Windows, unter Ubuntu Linux und auf einem Mac mit OS X notwendig sind. 1.1 Installationen unter

Mehr

Programmierung eines Besucherzählers mit Flash

Programmierung eines Besucherzählers mit Flash Die Idee...2 Die Entwicklung...2 Die Funktionen...2 Die Website...3 Die Registrierung...3 Counter einrichten...4 Der Besucherzähler...5 Wie der Benutzer ihn einbindet...5 Was dabei wirklich passiert...5

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

Seminar SS 2000 Enterprise Application Intergration

Seminar SS 2000 Enterprise Application Intergration Seminar SS 2000 Enterprise Application Intergration Web Programming Lifang Chen Betreuer: Marcello Mariucci Juli 2000, Universität Stuttgart Seminar "Web Programming" von Lifang Chen, Juli 2000 Folie 1

Mehr

MySql Backup. Backup mit phpmyadmin. ITST Systemberatung MySql Backup

MySql Backup. Backup mit phpmyadmin. ITST Systemberatung MySql Backup Backups (Dumps)/Restores von MySql-Datenbanken lassen sich generell über zwei Wege bewerkstelligen. Zum einen mit Middleware wie phpmyadmin oder MySqlFront und ähnlichen graphischen Oberflächen. Grundsätzlich

Mehr

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem Inhalt Content Management (CM) Allgemeines über CMS CMS Typen Open Source vs. Lizenzsoftware Joomla! Quellen Content Management

Mehr

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Allgemeines 2 Produktübersicht 2 Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems 3 Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Account-Verwaltung 5 Freund-Funktionen

Mehr

Apache MySQL - PHP. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. Martin Schober

Apache MySQL - PHP. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. Martin Schober Apache MySQL - PHP Was ist XAMPP? XAMPP bedeutet: * X = Verschiedene Betriebssysteme - ursprünglich W für Windows und L für Linux * A = Apache basierender Webserver (Simuliert das WEB auf lokalem Rechner)

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

Mehr

PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03

PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03 PHP Einsteiger Tutorial Kapitel 4: Ein Email Kontaktformular in PHP Version 1.0 letzte Änderung: 2005-02-03 Bei dem vierten Teil geht es um etwas praktisches: ein Emailformular, dass man auf der eigenen

Mehr

WikiWikiWeb. Proseminar Website-Management-Systeme. Markus Müller m_muell@informatik.uni-kl.de. Inhalt - Teil 1

WikiWikiWeb. Proseminar Website-Management-Systeme. Markus Müller m_muell@informatik.uni-kl.de. Inhalt - Teil 1 WikiWikiWeb Proseminar Website-Management-Systeme Markus Müller m_muell@informatik.uni-kl.de 1 Inhalt - Teil 1 1. Einige Begriffsklärungen 2. Das Konzept des WikiWikiWeb 3. Die innere Struktur des WikiWikiWeb

Mehr

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk

Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem umfassenden Auftritt als Bildungsnetzwerk Informationsmaterial zum Modul-Nr. 2.4: Bildungsnetzwerke planen (Schwerpunkt: IT-Unterstützung in Bildungsnetzwerken) Modul 2.4.1: Möglichkeiten zur Erweiterung des Internet-Auftritts der Schule zu einem

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc. Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 4: Stand: 03.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische Universität Eichstätt-Ingolstadt

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Mac OSX Consoliero Teil 14 Seite: 1/10 Mac OS X Consoliero Weiterführende Dokumentationen für Administratoren. Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2 Christoph Müller, PTS

Mehr

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit in Webanwendungen CrossSite, Session und SQL Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery

Mehr

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel Ruby on Rails Florian Ferrano Ralf Heller Markus Nagel Überblick Ruby on Rails Ruby Rails Geschichte MVC allgemein MVC in Rails Scaffolding Webserver Installation Beispiele Wo wird Rails verwendet? Ausblick

Mehr

Web Visu Tutorial. Hipecs Web Visu. Übersicht

Web Visu Tutorial. Hipecs Web Visu. Übersicht Revision Date V100 10082011 Hipecs Web Visu Die hipecs (high performance controller system) bietet die Möglichkeit einer sog Web-Visualisierung über den integrierten Webserver Hierfür wird im Standard

Mehr

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr