PHP-Enzyklopädie

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

2.11.2009 von Redaktion pcmagazin und Tobias Hauser

ca. 1:25 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

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
Ausgabe II: Die Daten kommen aus der Datenbank, aber die Informationen aus der Relation fehlen.
© Archiv
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 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.