RSSを実装する

2009/03/16

RSSフィードの出力は、「PHP Universal Feed Generator」を使いました。

最近はいろいろと忙しくて全然書けねー、
PHPとかAkelosのこと忘れそうだしー、さっさと書いてしまいたいのにー、
なんてのはさておき。

RSSの仕様

RSSの仕様は、トラックバックと同様にこの本
自分で作る blog ツール自分で作る blog ツール
石川 直人

ソフトバンククリエイティブ  2005-03-30
売り上げランキング : 72696

Amazonで詳しく見る
by G-Tools

で学びました。
この本では、XMLをテンプレートとして用意して、値を埋め込んで出力する方法が書かれています。
今回はこの方法にはしませんでしたが、RSSとは何たるかを学ぶ分にはこれはおすすめです。丁寧でわかりやすいです。

あとはココ
RSS(RDF Site Summary)によるサイト情報の要約と公開(RSS 1.0)
とか、
ここ
RSS 2.0 Specification 日本語訳 - futomi's CGI Cafe(RSS 2.0)
とかをザッ見とくといいと思います。

調べていくと、RSSの規格は大きく3つ、

  • RSS 1.0とかRDFとか言われているもの

  • RSS 2.0とか言われているもの

  • ATOMとかとか言われているもの


の規格・フォーマットがあるようでした。

が、言ってしまえばXMLの出し方(タグの名前やら順番やら)が違うだけで、
出す内容はそんなに違いはありません。
なんでいっぱいあるんでしょうね。

で、PHP Universal Feed Generator

PHP Universal Feed Generatorは上記3フォーマット全てに対応しています。
PHP Universal Feed Generatorは、
PHP Universal Feed Generator (supports RSS 1.0, RSS 2.0 and ATOM)
にあります。

これをvendorあたりのディレクトリに置いて、使うクラスでrequire_once。
サンプルコードもついてるので、それに倣うだけでカンタンです。

あと、フィードの種類によって日付フォーマットするときに、PHPには組み込み定数があって便利だった。
定義済み定数 - PHP関数マニュアル検索@pedia

Akelos向けにちょっと改造

PHP Universal Feed GeneratorのRSS書き出しクラスとしてFeedWriter.phpというのがあるんですが、
これがガンガンechoしていくタイプだったので、
echoしてる箇所を1つの変数につっこむように改造。
それをAkelosに戻して、renderXmlするようにしました。

PHP and Akelos | コメント(0) | トラックバック(0)
トラックバック
トラックバックURL:
コメントをどうぞ
名前 (入力しなければ「通りすがり」):

メールアドレス (入力しても公開されません):

URL (入力すればリンクが張られます):


コメント:

(コメントにタグなどを使ってもタグがそのままが表示されます)