PHP-Enzyklopädie

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

Dies entspricht im Grundaufbau dem weithin bekannten Hello-World-Beispiel aus der eZ-Dokumentation. Natürlich sind Ihrer Fantasie hier mit eigenen Zonen keine Grenzen gesetzt. Die PHP-basierte Template-Datei greift nun einfach auf die im Controller übergebene Variable zu. Sie können hier einfach die Frameworks-Variable ausgeben:

var_dump($this->frameworks);

Datenanschluss

Natürlich ist es noch nicht so spannend, nur einen einfachen Array auszugeben. Die Daten sollen nun aus der schon aus den anderen Teilen der Framework-Reihe bekannten Datenbanktabelle frameworks kommen. Hierzu bietet sich als Teil des MVC-Models von eZ die Klasse Persistent Objects an. Die persistierten Objekte werden sehr einfach gehandhabt. Sie erstellen eine Klasse mit der Struktur des Objekts.Dazu gibt es dann eine Beschreibungsdatei, die die Struktur mit der Datenbank mappt. Diese kann auch automatisch mittels der Klasse PersistentObjectDatabase SchemaTiein erstellt werden. Zuerst aber zur Klasse mit dem persistierten Objekt: Sie landet im Verzeichnis lib/models und erhält den Namen framework.php. Die Klasse selbst heißt Framework. Sie benötigt die Eigenschaften für die entsprechenden Datenbankfelder, außerdem eine Implementierung von getState() und setState():

PHP-Frameworks Teil VII - eZ Components

© Archiv

Ausgabe II: Die Daten kommen aus der Datenbank, aber die Informationen aus der Relation fehlen.
class Framework {
private $id = null;
public $name = null;
public $licence = null;
public function getState() {
$result = array();
$result['id'] = $this->id;
$result['name'] =
$this->name;
$result['licence'] =
$this->licence;
return $result;
}
public function
setState(array $properties) {
foreach($properties as $key =>
$value) {
$this->$key = $value;
}
}
}

Diese Klasse muss natürlich wieder bekannt gemacht werden, das heißt, in autoload.php fügen Sie ein Element in den Array ein:

return array(
'frameworksMvcConfiguration' =>
'config.php',
'frameworksRouter' => 'router.php',
'frameworksController' => 'control
lers/frameworks.php',
'frameworksRootView' =>
'views/root.php',
'Framework' => 'models/framework.php'
);

Die Beschreibungsdatei landet in lib/definitions/framework.php. Sie gibt direkt eine Definition des Objektes zurück. Die wichtigsten Eigenschaften sind die Datenbanktabelle und die zugehörige Klasse des persistenten Objekts.

Alle Eigenschaften des persistenten Objekts werden definiert und mit dem entsprechenden Feld in der Datenbanktabelle in Verbindung gebracht. Der Primärschlüssel erhält als Id-Eigenschaft dabei noch mal eine Sonderbehandlung.

Mehr zum Thema

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…