最近はいろいろと忙しくて全然書けねー、
PHPとかAkelosのこと忘れそうだしー、さっさと書いてしまいたいのにー、
なんてのはさておき。
RSSの仕様
RSSの仕様は、トラックバックと同様にこの本
で学びました。
この本では、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関数マニュアル検索@pediaAkelos向けにちょっと改造
PHP Universal Feed GeneratorのRSS書き出しクラスとしてFeedWriter.phpというのがあるんですが、
これがガンガンechoしていくタイプだったので、
echoしてる箇所を1つの変数につっこむように改造。
それをAkelosに戻して、renderXmlするようにしました。