Zend_Tag
ist eine Komponenten Suite welche zwei Klassen anbietet
um mit Tags zu arbeiten, Zend_Tag_Item
und
Zend_Tag_ItemList
. Zusätzlich kommt sie mit dem Interface
Zend_Tag_Taggable
, welches es erlaubt jedes eigene Modell als
markiertes Element, in Verbindung mit Zend_Tag
, zu verwenden.
Zend_Tag_Item
ist eine grundsätzliche Implementation eines
markierten Elements, welche mit der essentiellen Funktionalität kommt, die notwendig ist
um mit der Zend_Tag
Suite zu arbeiten. Ein markierbares Element
besteht immer aus einem Titel und einem relativen Gewicht (z.B. die Anzahl der
Vorkommnisse). Es speichert auch Parameter welche von den unterschiedlichen
Sub-Komponenten von Zend_Tag
verwendet werden.
Um mehrere Element miteinander zu gruppieren, existiert
Zend_Tag_ItemList
als Array Iterator und bietet zusätzliche
Funktionalitäten um die Werte des absoluten Gewichts, basierend auf dem angegebenen
relativen Gewicht jedes Elements in diesem, zu kalkulieren.
Beispiel 894. Verwenden von Zend_Tag
Dieses Beispiel zeigt wie eine Liste von Tags erstellt, und Werte des absoluten Gewichts auf diesen verteilt werden kann.
// Erstellen des Elementliste $list = new Zend_Tag_ItemList(); // Hinzufügen der Tags zur Elementliste $list[] = new Zend_Tag_Item(array('title' => 'Code', 'weight' => 50)); $list[] = new Zend_Tag_Item(array('title' => 'Zend Framework', 'weight' => 1)); $list[] = new Zend_Tag_Item(array('title' => 'PHP', 'weight' => 5)); // Absolute Werte auf den Elementen verteilen $list->spreadWeightValues(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); // Die Werte mit ihren absoluten Werten ausgeben foreach ($list as $item) { printf("%s: %d\n", $item->getTitle(), $item->getParam('weightValue')); }
Das wird die drei Elemente Code, Zend Framework und PHP, mit den absoluten Werten 10, 1 und 2, ausgeben.