Entwicklung & Design

PHP-Komponenten für Enterprise-Anwendungen: eZ Components

Seite 2 / 6

Für jede Komponente existiert ein ausführliches Einstiegs-Tutorial, das den generellen Umgang mit der Komponente beschreibt und praktische Code-Beispiele gibt. Darüber hinaus enthält die Dokumentation der komplexeren Komponenten weitere Informationen, etwa zur Syntax der Template-Sprache und zu allen in der Template-Sprache verfügbaren

Funktionen und Konstrukten. Das Entwicklerteam der eZ Components nimmt sich vor jedem Stable-Release drei bis vier Wochen Zeit, um alle Komponenten anhand von Beispiel-Applikationen zu testen und die Dokumentation zu überprüfen. Zahlreiche Artikel auf der Website von eZ Systems geben weitere Starthilfe, und eine Sammlung von praktischen Beispielapplikationen unterstützt dabei. Zudem bietet die Community in der Entwickler-Mailingliste unter components@lists.ez.no Support.

MVC nach Art des Hauses

Da es sich bei eZ Components um eine Klassenbibliothek und nicht um ein Framework im eigentlichen Sinne handelt, sucht man eine MVC-Implementierung vergebens. Dies muss jedoch kein Nachteil sein, denn eine Umsetzung des Model-View-Controller-Konzepts ist mit den verfügbaren Komponenten ein Leichtes. Eine eigene Umsetzung verspricht nicht nur die optimale Implementierung für den Einsatzzweck, sondern auch einen Performance-Vorteil vor Standard-Varianten, da auf überflüssige Features und eine zu allgemeine Implementierung verzichtet werden kann. Als Basis für einen Controller stellt eZ Components die URL-Komponente bereit, die für die Verarbeitung von URLs in einem beliebigen, benutzerdefinierten Format zuständig ist. Zusätzlich ist eine Komponente namens „SignalSlot“ verfügbar, die eine Art standardisierten Observer-Mechanismus nach dem Vorbild der Qt-Komponente „Signals and Slots“ bereitstellt. Hiermit lässt sich das Dispatching auf Action-Controller komfortabel und schnell realisieren. Für die Entwicklung einer Plugin-Schnittstelle der zu entwickelnden Applikation eignet sich die SignalSlot-Komponente ebenfalls hervorragend. Zur Implementierung des Model-Parts von MVC bietet sich die Komponente „PersistentObject“ an. Für die Darstellungsschicht (View) bietet sich die eZ-Components-eigene Template-Engine an.

Ansichtssache

Die Template-Komponente bietet eine flexible Engine zur Verarbeitung und Befüllung von Schablonen. Hierbei ist die Komponente nicht auf das HTML-Format beschränkt, sondern lässt sich durch die Verwendung so genannter Kontexte auch für andere Ausgaben wie Plaintext (z. B. für E-Mails) konfigurieren. Auch komplexere Ausgabeformate wie PDF sind durchaus denkbar. In der Standardeinstellung sorgt die Template-Engine für die sichere Darstellung eines HTML-Dokuments, verhindert also beispielsweise Cross-Site Scripting. Die implementierte Template-Sprache hat starke Ähnlichkeiten mit der des bekannten Template-Systems Smarty. Allerdings verzichtet eZ Components auf zahlreiche Features und bietet eine Vielzahl von vorbereiteten Funktionen und Kontrollstrukturen mit äußerst konsistenter API. Alle Templates werden bei ihrer ersten Verwendung in reinen PHP-Code kompiliert, was die Ausführungsgeschwindigkeit ab dem zweiten Zugriff drastisch erhöht, ohne Webdesignern den ungeliebten und möglicherweise gefährlichen Zugriff auf PHP selbst zu gewähren. Eine ausgeklügelte Erweiterungsschnittstelle erlaubt die Integration eigener Funktionen und die Entwicklung eigener Template-Blöcke. Aufgrund des ausgeklügelten Template-Systems verzichtet eZ Components auf eine Komponente, die HTML-Formularfelder generiert. Die bereits erwähnte Komponente „UserInput“ kümmert sich jedoch auf Basis der PHP-Extension „filter“ um die Validierung und Absicherung von Formulardaten.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung