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

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".