忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/04/26 06:42 |
ZF1.11 Zend_Tag
http://framework.zend.com/manual/ja/zend.tag.html

日本語が難解すぎていくら読んでもまったく理解できないZend_Tagですが、てっきりニコニコ動画のタグみたいなフォークソノミーかと思っていたら全然違う機能でした。

とりあえず使ってみます。
<?php
//require
	require_once('Zend/Tag/Item.php');
	require_once('Zend/Tag/ItemList.php');

//アイテムリスト
	$list = new Zend_Tag_ItemList();

//アイテムをアイテムリストに投入
	$list[] = new Zend_Tag_Item(array('title' => '紅莉栖', 'weight' => 45));
	$list[] = new Zend_Tag_Item(array('title' => 'まゆり', 'weight' => 45));
	$list[] = new Zend_Tag_Item(array('title' => '鈴羽', 'weight' => 51));
	$list[] = new Zend_Tag_Item(array('title' => 'フェイリス', 'weight' => 43));
	$list[] = new Zend_Tag_Item(array('title' => 'るか', 'weight' => 44));
	$list[] = new Zend_Tag_Item(array('title' => '萌郁', 'weight' => 54));
	$list[] = new Zend_Tag_Item(array('title' => '倫太郎', 'weight' => 59));
	$list[] = new Zend_Tag_Item(array('title' => '至', 'weight' => 98));
	$list[] = new Zend_Tag_Item(array('title' => '綯', 'weight' => 31));
 	
//重みを付ける
	$list->spreadWeightValues(array(1, 2, 4, 8, 16, 32, 64, 128));

//確認
	foreach ($list as $item) {
	    printf("%s: %d\n", $item->getTitle(), $item->getParam('weightValue'));
	}
weightの意味を明らかに取り違えていますが気にしない。

結果は
 紅莉栖: 4 まゆり: 4 鈴羽: 8 フェイリス: 4 るか: 4 萌郁: 8 至: 128 倫太郎: 8 綯: 1
となります。

どういう意味?

動作を確認したところ、どうやら次のような意味のようです。

・weightの最小値をspreadWeightValues()の左端、weightの最大値をspreadWeightValues()の右端にセット
・それぞれのweightを最小値から最大値までの割合でspreadWeightValues()の何れかの値にセット

綯を左端の1、至を右端の128とすると、紅莉栖は左端から3番目の4の位置あたりになり、鈴羽は4番目の8の位置あたりになるということです。

つまり、どうやらタグクラウドのタグという意味だったようです。
時々ある検索件数や重要度が高いものを大きな文字で表示したりするあれです。
使い方としては、単語と検索件数をZend_Tag_Itemに突っ込み、spreadWeightValues()でfont-sizeを段階的に指定するなどといった使い方になるでしょう。


つうか綯と10キロちょいしか違わないとかこいつらおかしい。
PR


2011/01/31 22:50 | Comments(0) | TrackBack() | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<ZF1.11 Zend_Tag_Cloud | HOME | 買ったものリスト 2011/01/30>>
忍者ブログ[PR]