TigerZF
🌐Español

Capítulo 67. Zend_Tag

67.1. Introducción

Zend_Tag es un conjunto de componentes que proporciona una facilidad para trabajar con elementos etiquetables. En su base, proporciona dos clases para trabajar con etiquetas, Zend_Tag_Item y Zend_Tag_ItemList. Además, incluye la interfaz Zend_Tag_Taggable, que le permite usar cualquiera de sus modelos como un elemento etiquetable en conjunto con Zend_Tag.

Zend_Tag_Item es una implementación básica de elemento etiquetable que incluye la funcionalidad esencial necesaria para trabajar con el conjunto Zend_Tag. Un elemento etiquetable siempre consiste en un título y un peso relativo (por ejemplo, el número de apariciones). También almacena parámetros que son utilizados por los diferentes subcomponentes de Zend_Tag.

Para agrupar varios elementos, existe Zend_Tag_ItemList como un iterador de array y proporciona funcionalidad adicional para calcular valores de peso absolutos basados en los pesos relativos dados de cada elemento que contiene.

Ejemplo 67.1. Uso de Zend_Tag

Este ejemplo ilustra cómo crear una lista de etiquetas y distribuir valores de peso absolutos en ellas.

// Create the item list
$list = new Zend_Tag_ItemList();

// Assign tags to it
$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));

// Spread absolute values on the items
$list->spreadWeightValues(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));

// Output the items with their absolute values
foreach ($list as $item) {
    printf("%s: %d\n", $item->getTitle(), $item->getParam('weightValue'));
}

Esto mostrará los tres elementos Code, Zend Framework y PHP con los valores absolutos 10, 1 y 2.