no-image

Delphinus Revision 33

黙っていればわからないと思っていたのですが、

指摘されてしまいました。

「これPlanetとしてのRSSとれないの?」

たぶんPlanetシステムには必要な機能だろうなと思いながらもとりあえず後回しで放置していたので指摘もらったついでに作ってしまうことに。

PHPのRSS関係のライブラリはたくさんあって、読みこみでいえば、MagpieRSS,XML_RSS,XML_Feed_Parserとかあるんだけど、書きこみが全然ない。あるんだけど駄目ライブラリしかない。とりあえずPEARのProposalにあがってたXML_Feed_WriterはPHP5のくせにDOM extensionないと駄目なので却下。FLPのRSSBuilderはこの日記システムのRSS出力に使ってるんだけどautoloadが使ってあったりしていろいろ本体コードいじくらないと動かない。

で、工数的にはすでにFLPのライブラリでの実装コードがあるのでFLPでいこうかなと思ったけど詳解RSSに書かれていたfeedcreator.class.phpを使ってみた。

手間としてはRSSBuilderとほとんど変わらないけどライブラリがファイル1つで構成されているのでアプリケーションに同梱しやすいです。FLPよりよさげなので今度はこれで行きます。

しかし設計が糞なのか、サンプルどおりの使い方をしていると、文字エンコードが指定できません。encodingというメンバ変数があるのでぱっと見はoverrideできそうなのですが、外から指定してもFactory?してる間に落ちてしまっている予感。暇な人コード読んでどうすればいいのか教えて下さい。とりあえず今回は面倒くさいので本体コードのメンバ変数の初期値を直接書き変えた。

CLIからしか呼び出せないようにして、Crawler実行時に呼び出すようにする。

コミットして報告しようとしたら2時間たってました、、、

RSS出力ごときで2時間もかけるなよ、、