phpbar.de logo

Mailinglisten-Archive

[php] Site-Design aufmoebeln

[php] Site-Design aufmoebeln

Johann-Peter Hartmann hartmann_(at)_freecharts.de
Wed, 27 Dec 2000 09:39:59 +0100


Hallo Michael,

Michael Pietsch schrieb:
> Gibt es dafuer einen Königsweg oder muss man sich halt durch das
> entstehende Code-Gestruepp durchkaempfen?
> Kann man strikt den Programmablauf und die HTML-Ausgabe trennen
> oder greift
> man da am besten auf irgend etwas fertiges zurueck (HTML-Editor ...)?

	Es gibt nicht nur einen Königsweg, es gibt sogar 2.

	Das Problem der zunehmenden Komplexität von
	PHP-HTML-Geflechten wird meistens mit Templates gelöst.
	Templates trennen die Funktionalität vom Layout, indem das
	Layout in getrennte Dateien stattfindet. Diese
	Template-Dateien sind eigentlich ganz normale HTML-Dateien,
	nur an die Stelle der dynamischen Abschnitte/Texte tritt
	ein Platzhalter, die sogenannte Template-Variable, meist etwas
	in der Art "{TITEL}", die dann z.B. so im HTML-Source wieder-
	zufinden ist : "<html><head><title>{TITEL}</title></head>..." .

	Auf der anderen Seite, im Code selbst, wird meist eine
	Template-Klasse benutzt, die Funktionen zur Belegung und
	zum Ersetzen der Templatevariablen bietet.

	Templates bieten zwei Vorteile:
	- sie lassen sich durch einen normalen HTML-Editor erstellen
	  und bearbeiten
	- durch die hierarchische Struktur von HTML lassen sich auch
	  geschachtelte Templates oder Blöcke übersichtlich nutzen.

	Die gängigsten Template-Lösungen sind wohl die FastTemplates,
	die (ohne die PHPLIB nutzbaren) Templates der PHPLIB oder
	Till & Tobias EasyTemplates.

	Ich habe mit der PHPLIB-Klasse, abgesehen von der seltsamen
	Block-API, nur gute Erfahrungen gemacht.

	Der zweite Königsweg ist XSLT . Glücklicherweise greift uns
	PHP mit der Unterstützung der Sablotron-Engine dabei
	unter die Arme.
	XSLT geht bei der Trennung von Layout und Funktion noch
	deutlich weiter, weil es keine Templatevariablen, sondern
	die komplette Ausgabe in logischer Darstellung als Grundlage
	nimmt.
	Praktisch heisst das : Das PHP-Script erzeugt eine XML-Datei,
	die die komplette Ausgabe enthält. Aus diesem XML läßt sich
	mit verschiedenen XSLT-Stylesheets alles mögliche an Ausgabe
	erzeugen, wie etwa HTML, ein anderes XML, WML oder auch mit einem
	weiteren Zwischenschritt PostScript oder PDF.

	Der XSL-Syntax ist erheblich komplexer als die Erstellung von
	Templates, und so ist auch die Lernkurve deutlich steiler.
	Im Gegenzug sind die Möglichkeiten natürlich viel weiter
	gespannt.

	Viele Grüße, johann



php::bar PHP Wiki   -   Listenarchive