読者です 読者をやめる 読者になる 読者になる

HTML_TagCloudのProposalに関して思ったこと

PHP

HTML_TagCloud 0.1.1(beta)がリリースされました。


HTML_TagCloudは少し前に遊んでみたのですが、なぜPHP4のサポートをしていないのが不思議に思っていました。
今回、ふとPEARのProposalに対するコメントを眺めていて(Proposalと投票が行われたのははだいぶ前のことですが・・・)、Martin Jansen氏の、

なんで、まだPHP4のサポートを続けるの?今では、みんなE_STRICTを出さないように躍起になっているのに、E_STRICTセーフとはほど遠いパッケージをまだ追加しようとしてるなんて!

というコメントに、目がいきました。なるほど。
と同時に、これがPHPでの開発の最先端にいる人の態度なんだなあ、とある種の感慨を覚えました。僕の周りでは、未だにPHP4が主流で、PHP5の時代は来るのかなあ、というのが実感なのですが、世界はすでにPHP5が当たり前なのでしょうか。まあ、symfonyとかの頑張りっぷりを見れば、それは分かっていたわけですが。
【追記】このあたりの事情はHTML_TagCloudの作者のid:shomaさんからもコメントをいただきました。ありがとうございます。


最後にバグ報告。
タグを全く追加していない状態で、buildAll()を呼ぶと、

<div class="tagcloud">Array</div>

のように"Array"が出力されます。僕はsedで無理矢理PHP5シンタックスからPHP4シンタックスに変換して利用しているので、ちょっと自信がないのですが、オリジナルのコードを追ってみ限り、276行目でPHPDocに@return stringと宣言しているのに、285行目でタグの数が0の場合array()を返しているのが原因です。

この辺りを修正すれば良さそうですが、全くタグがない場合はスタイルシートも出力しなくてよい、という考え方もありそうですから、ライブラリ作成者の判断によると思います。