next up previous contents
Next: Java Servlets / Jaffa Up: Erzeugung dynamischer Seiten Previous: CGIs / Perl

PHP

Ähnlich zu Perl ist PHP[9] eine interpretierte Scriptsprache, die jedoch speziell für den Einsatz auf Webservern konzipiert wurde. Im Gegensatz zu CGIs, wo Programme ablaufen, die den kompletten Seitencode ausgeben, sind PHP-Programme in den Seitenquelltext integriert. Es werden also normale Seiten erstellt und an den dynamisch zu erzeugenden Stellen Codefragmente eingebaut die den entsprechenden Teil ausgeben.

Hier ein Beispielcode der das aktuelle Datum und die Uhrzeit ausgibt. Zu beachten ist, dass, da der Header bei PHP nicht vom Script sondern vom Webserver erzeugt wird, als allererstes mit dem Header Befehl der passende content-type gesetzt wird. Ebenfalls ist es zu empfehlen den xml-Kopf wie gezeigt als erstes per print auszugeben und nicht normal in den Seitenquelltext zu schreiben. Sonst passiert es leicht, dass dieser nicht ganz am Anfang der Seite steht, was zu einem der typischen Fehler führt die bei Tests mit einem Emulator nicht entdeckt werden, auf einem reales Endgerät jedoch einen Abbruch bewirken.

<?php
Header("Content-Type: text/vnd.wap.wml");
print "<?xml version=\"1.0\"?>\n";
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
 "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Current" title="PHP3-WAP">
<do type="prev"><prev/></do>
<p>
<?php print(date( "l dS of F Y h:i:s A" )); ?> <br/>
</p>
</card>
</wml>

Die Interpretierung des Programmcodes wird bei PHP i.d.R. direkt durch ein im Webserver integriertes Modul erledigt, wodurch auch eine engere Integration mit dem Server möglich wird. Ein entscheidender Vorteil dieser Methode gegenüber CGIs ist es, dass das PHP Modul bei Datenbankanwendungen eine persistente Verbindung zur Datenbankengine aufrecht erhalten kann, während CGIs diese immer erst wieder neu aufbauen müssen, was Zeit kostet. Außerdem bringt PHP von sich aus ein Sessionmanagement mit das eine leichte Verwaltung sessionpersistenter Daten ermöglicht. Hierbei sind jedoch die Einschränkungen zu beachten, die am Ende dieses Kapitels zu Sessions und WAP allgemein genannt werden.

Alles in allem ist PHP damit sehr gut zum schnellen Entwickeln einfacher und auch komplexerer Anwendungen geeignet, und wurde deshalb nach einigen Tests auch als Sprache für den später beschriebenen Prototyp einer Intranet-Anbindung per WAP bei der DeTeSystem verwendet.


next up previous contents
Next: Java Servlets / Jaffa Up: Erzeugung dynamischer Seiten Previous: CGIs / Perl
Copyright Munich Network Management Team