PHP-Enzyklopädie

Teil 2: Serie: PHP-Frameworks Teil 7 - eZ Components

2.11.2009 von Redaktion pcmagazin und Tobias Hauser

ca. 2:15 Min
Ratgeber
  1. Serie: PHP-Frameworks Teil 7 - eZ Components
  2. Teil 2: Serie: PHP-Frameworks Teil 7 - eZ Components
  3. Teil 3: Serie: PHP-Frameworks Teil 7 - eZ Components
  4. Teil 4: Serie: PHP-Frameworks Teil 7 - eZ Components
  5. Teil 5: Serie: PHP-Frameworks Teil 7 - eZ Components
  6. Teil 6: Serie: PHP-Frameworks Teil 7 - eZ Components
  7. Teil 7: Serie: PHP-Frameworks Teil 7 - eZ Components

eZ schlägt in der Installationsanleitung noch zwei andere Methoden vor:

require "ezc/Base/
ezc_bootstrap.php";

ruft direkt eine PHP-Datei von eZ auf, die diese Arbeit erledigt. Im Gegensatz zur __autoload()-Funktion kann diese Variante allerdings nicht für andere Klassen außer die von eZ verwendet werden. Die dritte Variante ist die über die SPL (Standard PHP Library), eine Bibliothek mit Schnittstellen und hilfreichen Funktionen für den Umgang mit Objektorientierung:

spl_autoload_register( array( "ezc
Base", "autoload" ) );

Egal, welche der drei Versionen Sie verwenden, Sie können nun einfach Klassen aus dem eZ-Components-Framework einsetzen. Das folgende Beispiel zeigt beispielsweise, wie in einem Verzeichnis rekursiv alle Dateien mit der Endung .php gefunden und als Array zurückgeliefert werden:

$php_files = ezcBaseFile::findRecursi
ve("Verzeichnis/Pfad", array( '@\.php$@' ) );
var_dump($php_files);

Die Dokumentation von den eZ Components ist in drei Teile unterteilt: Installationsanleitung, API-Referenz mit allen Klassen und Methoden und Tutorials für jedes der eingesetzten Framework-Bestandteile.

MVC

Die bisher in dieser Serie vorgestellten Frameworks stellen alle das MVC-Modell in den Vordergrund. Dies ist bei den eZ Components nicht der Fall. eZ Components versteht sich eher als Bibliothek, die kein bestimmtes Entwicklungsmodell vorgibt. Das heißt aber nicht, dass die MVC-Unterstützung nicht vorhanden wäre. Seit 2008.2 gibt es die Mvc Tools.

PHP-Frameworks Teil VII - eZ Components
Rekursiv: Am Anfang ist nur eine PHP-Datei im angegebenen Verzeichnis und den Unterverzeichnissen.
© Archiv

Allerdings ist auch hier die Vorgabe nicht so streng wie bei anderen Frameworks. Es gibt keine eindeutigen Konventionen und der grundlegende Aufbau bleibt dem Entwickler weitgehend selbst überlassen. Das hat Vor- und Nachteile. Ein Vorteil ist, dass der Entwickler genauso viel MVC bauen kann, wie er möchte.

Der Nachteil ist, dass er wirklich jedes Einzelteil selbst erstellen muss. Für diesen Artikel kommt als Beispiel die schon bekannte Tabelle mit den verschiedenen Frameworks zum Einsatz. Zum Auslesen und Darstellen orientiert sich die Struktur an den Beispielen, die eZ in seinen Tutorials gibt.

Die Mvc Tools sind vor allem dazu gedacht, HTTP-Anfragen MVC-konform abzufangen und abzuarbeiten. Das heißt, die Requests werden über ein Routing mit entsprechenden Filtern einem Controller zur Verfügung gestellt. Letzterer greift auf die Views mit einem Template-Modell zu und aus allem wird die Antwort generiert. Die Datenintegration, das M in MVC, spielt hier erst mal noch keine Rolle. Sie kann zum Beispiel über die Klasse PersistentObject im Controller nachgerüstet werden.

Die Standardstruktur, die von eZ für den MVC-Aufbau verwendet wird, besteht aus vier Verzeichnissen:

• für vorgecachte Templates mit einem beschreibbaren Unterverzeichnis compiled_templates • lib für alle MVC-Bestandteile wie Controller, Views et cetera • templates für die Templates • www für die eigentliche Applikation.

Die index.php im www-Verzeichnis ist der Einsprungpunkt für die gesamte Anwendung und das nach außen verfügbare Verzeichnis. Hier wird eine zentrale Konfigurationsdatei ausgeführt und der Dispatcher wartet auf die HTTP-Requests, die dann gemäß der Konfiguration abgearbeitet werden:

include '../config.php';
$config = new frameworksMvcConfigura
tion();
$dispatcher = new ezcMvcConfigurable
Dispatcher( $config );
$dispatcher->run();

Im vorliegenden Beispiel ist die Datei config.php im Hauptverzeichnis der Applikation platziert. Die config.php-Datei ist auch der Ort, an dem Sie den autoload-Mechanismus von den eZ Components initialisieren und eventuell auch den include_path verändern. Außerdem rufen Sie hier das Klassen-Repository auf.

Mehr lesen

Chronologische Liste und Netflix-Links

Marvel-Filme- und -Serien: Das ist die richtige Reihenfolge

Neuerscheinungen in der Übersicht

Netflix: Neue Filme und Serien

Vorschau auf Film- und Serien-Highlights

Amazon Prime Video: Neuheiten

Weiter zur Startseite  

Mehr zum Thema

internet, webdesign, adobe,  Illustrator, CS6

Webdesign

Webdesign in Adobe Illustrator CS6

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.

Facebook stellte die neue Suche

Facebook

Facebooks Social Graph Search

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?

Der BGH erklärt das Internet zur Lebensgrundlage.

Online-Recht

Darauf müssen Sie bei den AGB achten

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.

Online-Urheberrecht: Unser Ratgeber bietet Tipps für das Cloud-Recht.

Online-Recht in der Cloud

Wie sieht das Urheberrecht in der Wolke aus?

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…

Logistik im E-Commerce: Prozesse rund um die Logistik.

E-Commerce-Logistik

Logistik im E-Commerce

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.