Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Vorwort
1 Einleitung
2 Einführung in eZ Components
3 Die Applikationsbasis
4 Fehlerbehandlung und Debugging
5 Konfiguration
6 Datenbankanbindung
7 ORM mit PersistentObject
8 Template
9 Übersetzung
10 Benutzereingaben validieren
11 Authentifizierung
12 Bildverarbeitung
13 Archive und Dateien
14 Mail
15 Logging
16 Diagramme
17 Feeds und Caching
18 Setup
A Inhalt der Buch-CD
Stichwort

Download:
- ZIP, ca. 2,7 MB
Ihre Meinung?

Spacer
<< zurück
eZ Components von Tobias Schlitt, Kore Nordmann
Das Entwickler-Handbuch
Buch: eZ Components

eZ Components
geb., mit CD
454 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1073-7
Pfeil 8 Template
Pfeil 8.1 Template-Komponente
Pfeil 8.2 Cross-Site-Scripting
Pfeil 8.2.1 Ausgabe-Kontext in der Template-Komponente
Pfeil 8.3 Integration in das Blog
Pfeil 8.3.1 Initialisierung der Template-Komponente
Pfeil 8.3.2 Übergabe von Inhalten an das Template
Pfeil 8.3.3 Wichtige Variablen
Pfeil 8.3.4 Ausgabe
Pfeil 8.3.5 Template-Struktur im Blog
Pfeil 8.3.6 Das pagelayout-Template
Pfeil 8.3.7 Einbinden von Modul-Templates in die Applikation
Pfeil 8.3.8 Liste der Blog-Einträge
Pfeil 8.3.9 Vollansicht eines Blog-Eintrags
Pfeil 8.3.10 Gebietsabhängiges Datum
Pfeil 8.4 Weitere Möglichkeiten der Template-Komponente
Pfeil 8.4.1 Rückgaben verarbeiten
Pfeil 8.4.2 Eigene Template-Blöcke definieren
Pfeil 8.5 Fazit

Templates helfen bei der Trennung von Applikationslogik und Design. ezcTemplate ist eine mächtige, schnelle und effektiv erweiterbare Template-Engine, die in das Blog integriert wird.

8 Template

Mit Templates werden Vorlagen bezeichnet, in denen Platzhalter durch variable Inhalte ersetzt werden. Konsequent umgesetzt führt das zu einer strikten Trennung von Applikationslogik und Design, da aus den Templates keine Änderungen in der Applikation ausgeführt werden können. Da die Darstellungslogik, zum Beispiel bei der Anzeige von Listen, häufig über das reine Ersetzen von Platzhaltern hinausgeht, sind über die Zeit viele Template-Sprachen entstanden. Template-Sprachen sind dabei oft vollwertige Programmiersprachen, denen lediglich die Möglichkeit fehlt, direkt mit Datenhaltungssystemen zu kommunizieren. Sie greifen lediglich auf die Daten selbst zu, wobei Template-System und Datenobjekte sicher stellen müssen, dass keine ungewollten Zugriffe stattfinden.

Durch die notwendige Interpretation der Template-Sprache entsteht zwangsläufig ein zusätzlicher Aufwand bei der Ausführung. Einige Template-Systeme wie ezcTemplate umgehen dieses Problem, indem sie die Template-Sprache in eine andere Sprache, die schneller ausgeführt werden kann, konvertieren (was oft auch Kompilieren genannt wird). Im Falle von ezcTemplate wird die eigene Template-Sprache nach PHP kompiliert, sodass bei der Ausführung die Vorteile des schnellen PHP-Interpreters und von Op-Code-Cache zum Tragen kommen. Op-Code-Cache wurde bereits in Abschnitt 5.4.2, »Schnellerer Zugriff durch PHP-Arrays«, näher erläutert.

Neben der forcierten Trennung zwischen Logik und Design erfüllen Template-Sprachen noch einen weiteren Nutzen. Templates werden meistens von Designern bearbeitet, die in der Softwareentwicklung und im Umgang mit Programmiersprachen über weniger Erfahrung verfügen, und müssen daher einfach verständlich sein. Eingebetteter PHP-Code kann oft schwer lesbar sein, Template-Sprachen dagegen legen Wert auf Einfachheit und Lesbarkeit der Dokumente.


Galileo Computing - Zum Seitenanfang

8.1 Template-Komponente topZur vorigen Überschrift

Die Komponente implementiert ein Template-System mit einer eigenen Template-Sprache, die sich stark an der zuvor in eZ Publish verwendeten eigenen Template-Sprache orientiert, deren Syntax zum Teil an das bekannte Smarty [http://smarty.php.net ] erinnert. Die Sprache wurde mit dem Ziel entwickelt, für Designer einfach erlernbar zu sein und übliche Anwendungen durch ausdrucksstarke Konstrukte einfach und schnell formulierbar zu gestalten. Durch einen klar definierten Geltungsbereich von Variablen soll es auch unerfahrenen Entwicklern leichtfallen, die lokal verfügbaren Variablen zu erkennen.

Die Template-Komponente ermöglicht die Einbindung von Templates in Templates, ähnlich dem aus PHP bekannten Sprachkonstrukt include für PHP-Dateien. Solche eingebundenen Templates werden häufig dazu eingesetzt, einzelne Seitenelemente darzustellen, wie Formularelemente oder feste Boxen im Layout einer Seite. Besonders in der Pflege oder Modifikation von solchen bestehenden Teil-Templates war es in eZ Publish und anderen Template-Systemen oft schwer zu erkennen, welche Variablen verfügbar sind. Nur das Wissen um die lokal verfügbaren Variablen gibt jedoch Aufschluss um die mögliche Reichweite der Modifikationen und kann verhindern, dass Templates auf Inhalte zugreifen, die darzustellen oder modifizieren nicht ihre Aufgabe ist.

Im Gegensatz zu vielen anderen Template-Systemen wird die Template-Sprache bei der Verwendung eines Templates einmalig zu PHP-Code kompiliert, was die Ausführung massiv beschleunigt und den normalerweise durch die Verwendung von Template-Systemen entstehenden erhöhten Aufwand massiv reduziert. Da der PHP-Code nur bei Änderungen am Template neu erstellt werden muss, entsteht durch das Kompilieren kein Overhead.

Bislang wurden, um die bisherige Funktionalität zu visualisieren, lediglich die der View-Komponenten übergebenen Variablen über var_export() ausgegeben. Um dem Blog ein einheitliches Layout zu geben und die Ausgabe von XHTML leichter modifizierbar zu gestalten, verwenden wir nun die Sprache aus der Template-Komponente.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: PHP 5.3 und MySQL 5.1






 PHP 5.3 und
 MySQL 5.1


Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


Zum Katalog: Webshops mit Magento






 Webshops mit
 Magento


Zum Katalog: Sichere Webanwendungen






 Sichere
 Webanwendungen


Zum Katalog: PHP 5.3 und MySQL 5.1 - Videotraining






 PHP 5.3 und
 MySQL 5.1 -
 Videotraining


Zum Katalog: Apache 2






 Apache 2


Zum Katalog: Suchmaschinen-Optimierung für Webentwickler






 Suchmaschinen-
 Optimierung
 für Webentwickler


Zum Katalog: Joomla! 1.5






 Joomla! 1.5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de