Zend_Tag est une suite de composants permettant de manipuler
des entités taguables. Ce composant propose 2 classes dans ce but,
Zend_Tag_Item et Zend_Tag_ItemList. Aussi,
l'interface Zend_Tag_Taggable vous permet d'utiliser vos modèles dans
des tags avec Zend_Tag.
Zend_Tag_Item est un composant proposant les fonctionnalités
basiques pour traiter des tags dans Zend_Tag. Une entités taguables
consiste en un titre et un poids (nombre d'occurrences). Il existe aussi d'autres paramètres
utilisés par Zend_Tag.
Pour grouper plusieurs entités ensemble, Zend_Tag_ItemList
propose un itérateur de tableau et des fonctions pour calculer le poids absolu des valeurs
en fonction du poids de chaque entité.
Exemple 896. Utiliser Zend_Tag
Cet exemple montre comment créer une liste de tags en pondérant chacun d'eux.
// Crée la liste
$list = new Zend_Tag_ItemList();
// Ajoute des entités dans la liste
$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));
// Valeurs absolues des entités
$list->spreadWeightValues(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
// Sortie
foreach ($list as $item) {
printf("%s: %d\n", $item->getTitle(), $item->getParam('weightValue'));
}
Ceci va afficher les 3 entités Code, Zend Framework et PHP avec les valeurs absolues 10, 1 et 2.