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] [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

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

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

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

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

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

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

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

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

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

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

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

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

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

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

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

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Anwenderdokumentation PersoSim

Anwenderdokumentation PersoSim Anwenderdokumentation PersoSim Die nachfolgende Anwenderdokumentation soll dem Anwender bei der Installation und den ersten Schritten im Umgang mit PersoSim helfen. Installation Grundvoraussetzung für

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

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

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Internet und WWW Übungen

Internet und WWW Übungen Internet und WWW Übungen 7 Serverseitige Web-Technologien [WEB7] Rolf Dornberger 1 06-11-12 7 Serverseitige Web-Technologien 1. Begriffe Zusatz für Interessierte: 2. JSP erstellen 3. Servlet erstellen

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

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

Anleitung BFV-Widget-Generator

Anleitung BFV-Widget-Generator Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

http://www.hoststar.ch

http://www.hoststar.ch Kapitel 16 Seite 1 Die eigene Homepage Im Internet finden Sie viele Anbieter, die Ihnen rasch und zuverlässig einen Webhost für die eigene Homepage einrichten. Je nach Speicherplatz und Technologie (E-Mail,

Mehr

Erstellen eigener HTML Seiten auf ewon

Erstellen eigener HTML Seiten auf ewon ewon - Technical Note Nr. 010 Version 1.2 Erstellen eigener HTML Seiten auf ewon 30.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Funktionsaufbau und Konfiguration 3.1. Unterpunkt 1 3.2. Unterpunkt

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

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

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

SFTP SCP - Synology Wiki

SFTP SCP - Synology Wiki 1 of 6 25.07.2009 07:43 SFTP SCP Aus Synology Wiki Inhaltsverzeichnis 1 Einleitung 1.1 Grundsätzliches 2 Voraussetzungen 2.1 Allgemein 2.2 für SFTP und SCP 3 Installation 3.1 Welche openssl Version 3.2

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

ARAkoll 2013 Dokumentation. Datum: 21.11.2012

ARAkoll 2013 Dokumentation. Datum: 21.11.2012 ARAkoll 2013 Dokumentation Datum: 21.11.2012 INHALT Allgemeines... 3 Funktionsübersicht... 3 Allgemeine Funktionen... 3 ARAmatic Symbolleiste... 3 Monatsprotokoll erzeugen... 4 Jahresprotokoll erzeugen

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

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

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung: Installation Bevor Sie mit der Installation von MOVIDO 1.0 beginnen, sollten Sie sich vergewissern, dass der Internet Information Server (IIS) von Microsoft installiert ist. Um dies festzustellen, führen

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

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

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Java Script für die Nutzung unseres Online-Bestellsystems

Java Script für die Nutzung unseres Online-Bestellsystems Es erreichen uns immer wieder Anfragen bzgl. Java Script in Bezug auf unser Online-Bestell-System und unser Homepage. Mit dieser Anleitung möchten wir Ihnen einige Informationen, und Erklärungen geben,

Mehr

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten

Mehr

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox Bitte beachten: Der im folgenden beschriebene Provider "www.cwcity.de" dient lediglich als Beispiel. Cwcity.de blendet recht häufig

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfügen von Bildern innerhalb eines Beitrages Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de

Mehr

Webalizer HOWTO. Stand: 18.06.2012

Webalizer HOWTO. Stand: 18.06.2012 Webalizer HOWTO Stand: 18.06.2012 Copyright 2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können z.t. eingetragene Warenzeichen sein, ohne

Mehr

A361 Web-Server. IKT-Standard. Ausgabedatum: 2015-01-27. Version: 1.03. Ersetzt: 1.02. Genehmigt durch: Informatiksteuerungsorgan Bund, am 2004-09-07

A361 Web-Server. IKT-Standard. Ausgabedatum: 2015-01-27. Version: 1.03. Ersetzt: 1.02. Genehmigt durch: Informatiksteuerungsorgan Bund, am 2004-09-07 Eidgenössisches Finanzdepartement EFD Informatiksteuerungsorgan des Bundes ISB A361 Web-Server Klassifizierung: Typ: Nicht klassifiziert IKT-Standard Ausgabedatum: 2015-01-27 Version: 1.03 Status: Genehmigt

Mehr

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2 Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2 Installationsvoraussetzungen: Die Update-Routine benötigt das DotNet-Framework 4.0 Client Profile, das normalerweise über

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent Outlook 2003 - Aufbaukurs 19 Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent Wie kann ich die Bearbeitung von Nachrichten automatisieren? Wie kann ich Nachrichten automatisch

Mehr

Die R-Homepage R herunterladen

Die R-Homepage R herunterladen Die R-Homepage R herunterladen Der Link für die R-Homepage lautet: http://www.r-project.org/ Um R herunterzuladen, klickt man zunächst auf download R (durch grünen Pfeil gekennzeichnet). Anschließend öffnet

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

Installation von Wordpress

Installation von Wordpress Installation von Wordpress Wordpress (http://wordpress-deutschland.org/) ist ein sehr bekanntes Blog-Script, welches Ihnen ermöglicht, schnell und einfach ein Blog auf Ihrem Webspace zu installieren. Sie

Mehr

I.1 Die Parrot Assemblersprache

I.1 Die Parrot Assemblersprache I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen

Mehr

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

Visual Basic Express Debugging

Visual Basic Express Debugging Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das

Mehr

EIDAMO Webshop-Lösung - White Paper

EIDAMO Webshop-Lösung - White Paper Stand: 28.11.2006»EIDAMO Screenshots«- Bildschirmansichten des EIDAMO Managers Systemarchitektur Die aktuelle EIDAMO Version besteht aus unterschiedlichen Programmteilen (Komponenten). Grundsätzlich wird

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Collax E-Mail Archive Howto

Collax E-Mail Archive Howto Collax E-Mail Archive Howto Howto Dieses Howto beschreibt wie ein Collax Server innerhalb weniger Schritte als E-Mail Archive eingerichtet werden kann, um Mitarbeitern Zugriff auf das eigene E-Mail Archiv

Mehr

ITF2XML. Transferservice. Version 1.1. Tel.: 044 / 350 10 10 Fax: 044 / 350 10 19. CH-8005 Zürich

ITF2XML. Transferservice. Version 1.1. Tel.: 044 / 350 10 10 Fax: 044 / 350 10 19. CH-8005 Zürich GmbH Technoparkstrasse 1 Informationssysteme Engineering & Consulting CH-8005 Zürich Tel.: 044 / 350 10 10 Fax: 044 / 350 10 19 ITF2XML Transferservice Version 1.1 infogrips GmbH, 2001-2014 06.01.2014

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

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr