導入

Zend_Tagは、タグ付けできる項目で動作するための機能を与える コンポーネント・スイートです。 その基盤として、タグで動作するクラスを2つ、 Zend_Tag_Item及びZend_Tag_ItemListを 提供します。 さらに、それにインタフェースZend_Tag_Taggableがついてきます。 そして、それはZend_Tagと連携した、 タグ付けできる項目としてどのモデルでも利用できます。

Zend_Tag_Itemは、 Zend_Tagスイートで動作する必要のある重要な機能に付属する、 基本的なタグ付けできる項目の実装です。 タグ付けできる項目は、常にタイトルと相対荷重(例えば反復回数)から成ります。 それも、Zend_Tagの異なるサブコンポーネントによって使われる パラメータを格納します。

複数の項目をまとめるために、 Zend_Tag_ItemListは配列イテレータとして存在して、 その中で各項目の与えられた相対荷重に基づく絶対重み付け値を計算するために、 更なる機能を与えます。

例904 Zend_Tagの利用

この例は、タグの一覧を作成して、 絶対の重み付け値をそれらに行き渡らせる方法を例示します。

//項目一覧を作成
$list = new Zend_Tag_ItemList();

//タグをそれに割り当て
$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));

//絶対値をそれらに行き渡らせる
$list->spreadWeightValues(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));

//それらの絶対値とともに項目を出力
foreach ($list as $item) {
    printf("%s: %d\n", $item->getTitle(), $item->getParam('weightValue'));
}

これはCodeとZend Framework及びPHPを 絶対値の10、1及び2で出力します。