previous up contents next

Vorteile von PHP

  1. PHP ist eine sehr junge Programmiersprache. Durch Betrachtung der Nachteile bereits bestehender (Skript-) Sprachen wurde bei der Implementierung darauf geachtet, daß PHP die bekannten Nachteile außen vor läßt, dabei aber Vorteile von anderen Sprachen integriert.

  2. geringere Serverbelastung:
    Die Belastung des Web-Servers, auf dem PHP als Modul läuft, ist geringer als die eines Web-Servers, auf dem ein CGI ausgeführt wird. Soll ein CGI ausgeführt werden, so muß für jede Anfrage an den Server ein eigener Prozeß auf dem Web-Server gestartet werden. Um jedoch neue Prozesse zu erzeugen, sind teure System-Calls nötig, die die Geschwindigkeit bremsen. Bei PHP ist dies nicht der Fall, da es meist als Modul im Server eingebunden ist. Das bedeutet, daß PHP ein Teil des Web-Servers wird und immer geladen ist. Somit entfällt der Overhead der Prozeßerzeugung.
  3. Trennung von Layout und Code
    Der Inhalt (Content) einer Web-Seite, das sind die dargestellten Informationen, die dem Benutzer der Seite vermittelt werden sollen, und die Art der Präsentation dieser Informationen (Layout) soll(t)en bei einem Web-Portal getrennt sein. Der Content wird oft in einer Datenbank (z.B. MySQL) vorgehalten, während das Layout an anderer Stelle festgelegt werden soll. Oft muß es auch möglich sein, daß verschiedene Personen zusammenarbeiten, um ein solches System zu unterhalten. So könnte der Content (z.B. ein Zeitungs-Artikel) in einer Datenbank als reiner Text gespeichert sein. Dieser könnte vom Redakteur erstellt werden. Ein Web-Designer soll dann die Darstellung des Artikels innerhalb des Layouts der Web-Seite bestimmen können (z.B. Navigtationselemente). Schließlich soll der Programmierer alles zu einem Ganzen zusammenfügen. Damit sich die Aufgaben dieser Personen möglichst nicht überschneiden, sich der Programmier z.B. nicht mit dem Ausgangstext, der Designer nicht mit dem Quellcode des Programmierers befassen muß (oder auch aus Versehen ändert), ist die Trennung von Layout und Code für ein größeres Projekt unabdingbar. Weiterhin läßt sich aufgrund dieser Trennung ein Redesign einer Web-Site sehr viel einfacher verwirklichen, da es nicht notwendig ist, die dahinterliegenden Programme zu ändern. Aufgrund dieser Trennung von Layout und Code ist es auch möglich, den Inhalt für unterschiedlichste Ausgabegeräte wie Palm-Tops, Desktop Rechner oder auch WAP (Handy) zu formatieren ([29]). Seite 85 Diese Forderungen können durch die Verwendung von sogenannten Templates erfüllt werden. Templates stellen ein Verfahren dar, mit dem die Struktur einer HTML-Seite beschrieben wird. Der konkrete Inhalt wird jedoch erst später eingesetzt. Für PHP existieren eine ganze Reihe von Template-Klassen. Die meisten funktionieren nach folgendem Prinzip: Es wird eine Layout-Datei erzeugt, die statt des eigentlichen Inhalts, Platzhalter für diesen aufweist. Ein PHP-Skript importiert diese Layout-Datei, ersetzt die Platzhalter durch den gewünschten Inhalt und gibt schließlich die erzeugte Datei aus. Diese könnte man sich ähnlich wie einen Formularvordruck vorstellen. Die Position, an der ein bestimmter Inhalt eingetragen werden soll, ist auf eine bestimmte Art und Weise gekennzeichnet.

  4. Templates an Hand der Template Klasse der PHPLIB
    (Tutorial: http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialID=10)

    Die Template-Library von http://phplib.netuse.de/ steht unter GPL. Um mit dieser Klasse zu arbeiten bedarf es zunächst einer Vorlagendatei (siehe Listing: [*]) und einem PHP-Skript, das die Ersetzungsarbeit vornimmt (Listing [*]). Natürlich müssen die Variablenzuweisungen nicht fest im Code stehen, sondern können auch dynamisch z.B. aus einer Datenbank hinzugeladen werden. Dieses Einsetzen von Templates ist jedoch noch nicht alles, was mit einer solchen Klasse gemacht werden kann. Es ist auch möglich, daß eine ganze Auflistung aus einer Datenbank gelesen, und mit der Template-Klasse dargestellt wird.

    \lstinputlisting[caption={Layout-Vorlage
}]{include/xmpl_template_layout.inc.html} Layout-Vorlage

    \lstinputlisting[caption={Template-Verwendung
}]{include/xmpl_template_templ.php} Template-Verwendung

  5. Großer Funktionsumfang (feature rich) und kurze Entwicklungszeit:
    PHP beinhaltet schon in seiner grundlegenden Form eine sehr große Anzahl verschiedener Bibliotheken und Funktionen. Besonders hervorzuheben sind hier Netzwerkfunktionen, Protokolle, und Datenbankanbindungen, die bei anderen Sprachen erst als externe Bibliotheken hinzugezogen werden müssen. Durch diese Vielzahl an Schnittstellen bringt PHP bereits alles mit, was zur Implementierung einer Web-Applikation bzw. eines Internetportals benötigt wird. Dies ermöglicht dem Programmierer, schnell Anwendungen zu entwickeln (Laut [14] beträgt die Entwicklungszeit einer PHP-Anwendung nur 75% der Zeit, die für die Entwicklung der selben Anwendung mit ASP benötigt würde). Auch sonst stehen sehr viele Funktionen zur Verfügung, die das Programmieren wesentlich erleichtern. Hierbei sind besonders Funktionen zur Stringbearbeitung sowie zum Umgang mit Arrays zu nennen.

    Zusätzlich existiert auch noch eine Vielzahl von Modulen, Bibliotheken, und Code-Schnipsel-Seiten im Netz:

  6. In der neuesten Version ist es möglich, auch auf die Microsoft-COM-Komponenten zuzugreifen und weiterhin auch direkt auf Java-Objekte und gekapselte Java-Beans.

  7. Browser(un)abhängigkeit:
    PHP wird auf dem Web-Server ausgeführt. Dort wird der Code interpretiert. Das bedeutet, daß der Browser des Clients normalerweise keinen PHP-Code zugesandt bekommt. Wird durch ein PHP-Skript reines HTML erzeugt, so kann man sagen, daß der Einsatz von PHP vollkommen browserunabhängig ist. Allerdings beschränken sich die Einsatzmöglichkeiten von PHP keineswegs auf reine HTML Seiten, sondern bieten auch die Möglichkeit, Browser-spezifische-Features zu verwenden. Zu diesem Zweck ist es nötig herauszufinden, welcher Browser eine Anfrage an einen Server stellt. Dies kann z.B. wie in Listing [*] dargestellt, abgefragt werden:

    \lstinputlisting[caption={Identifikation des zugreifenden Browsers
}]{include/whatbrowser.php} Identifikation des zugreifenden Browsers

    Je nachdem kann dann im Skript unterschiedlich darauf reagiert werden. So könnte z.B. dem MS-Internetexplorer ein VBScript geschickt werden oder eine Seite mit einem ActiveX Control, während einem Netscape Browser ein JavaScript oder ein JAVA-Applet gesendet wird. Weiterhin gibt es auch einige nicht im Standard enthaltene HTML-Tags, die nur von bestimmten Browserversionen unterstützt werden. Somit kann über den oben genannten Mechanismus durch das PHP-Skript auch eine speziell an einen bestimmten Browser angepaßte Version einer Seite erstellt werden. Ein Vorteil dieser Vorgehensweise besteht unter anderem in der geringeren Netzwerkbelastung, da nicht erst eine Seite an einen Browser übertragen werden muß, die dieser vielleicht gar nicht interpretieren kann, oder auch in kürzeren Ladezeiten und in einer größeren Kundenerreichbarkeit.

  8. Systemübergreifende Verfügbarkeit: Dies bietet für den Entwickler einer Anwendung, aber auch für eine Firma, die beispielsweise einen E-Shop betreibt, einen großen Vorteil, da es sehr leicht möglich ist, bei geänderten Anforderungen auf andere, leistungsfähigere oder sicherere Systeme umzusteigen (z.B. der Umstieg von Windows auf ein Unix/Linux-Derivat). Auch für eine Softwarefirma stellt dies bei der Portierung ihrer Applikationen auf eine andere Serverplattform einen großen Vorteil dar.

  9. Kostenlose Verfügbarkeit. Es fallen bei der Benutzung von PHP4 keinerlei Lizenzgebühren an.

  10. Open Source Gedanke: PHP ist open source Software und kann damit die gesamten Vorteile, die dieses System mit sich bringt, für sich verbuchen. Hierzu zählen vor allem Punkte wie schnelle Fehlerbereinigungen, keine teuren Support-Hotlines und große Stabilität. Zudem kann sich jeder an der Fortentwicklung des Systems beteiligen. Gerade zu diesem Punkt ist anzumerken, daß PHP4 ein ausgereiftes Modulkonzept bietet, und daß Erweiterungen durch Spezifikation festgelegt sind (siehe dazu Anhang C des PHP Manual). Damit ist es leicht möglich, in C neue Module für PHP zu schreiben.

  11. Der Benutzer einer Web-Site bekommt den Code, mit dessen Hilfe die Seiten erzeugt wurden, nicht zu Gesicht. Dies ist ein Nachteil clientbasierter Skript-Sprachen, bei denen der Quellcode an den Browser des Benutzers gesendet wird.

  12. Suchmaschinen:
    Suchmaschinen sollten im allgemeinen keine Probleme haben, eine mit PHP programmierte Seite zu indizieren, da erstens die Dateiendung normalerweise keine Rolle spielt und zweitens, wie oben bereits erwähnt, die Existenz von PHP auf dem Server vollständig vor einem Client verschleiert werden kann. Ein Spider10einer Suchmaschine ist jedoch nichts anderes als ein automatisierter Browser.


previous up next
Rene Morschhauser 2002-02-03