以前PHPで簡単にRSS/Atomフィードを生成でFeedCreator.class.phpについて少し書いたが、久し振りにまたこのPHPをいじった。以前は気付かなかったカスタマイズポイントもあるので、改めてまとめてみる。(以下の記述は現時点の最新版ver.1.7.2についての記述。)
- 文字コード
PHP(FeedCreator.class.php)を使ったRSSの生成が参考になる。UTF-8ならたぶん変更なしでいけると思う。
(2007/10/12 追記: フィードの種類により文字コードが決まってた。AtomフィードはUTF-8だからUTF-8ならそのままでOK。他のフィードは変更が必要。いっそclassをextendsするのも良いかも。) - エントリの日時
159行目のTIME_ZONEの設定を変える。通常は""にすればいい。セットする側のロジックでは、セットする日時の形式としてUnixタイムスタンプ、RFC-822形式(例: Mon, 15 Aug 05 15:52:01 +0000)、ISO-8601形式(例: 2005-08-15T15:52:01+0000)が使える。 - クライアントキャッシュ期限
635行目のコメントアウトを外すと、クライアント(Webブラウザ)側のキャッシュが有効になる。サーバ側のキャッシュ期限と同じ日時になるので、負荷を考えるならクライアントでもキャッシュをさせた方が良い。 - Atomの場合のHTMLの挿入
Atomフィードの本文(?)にHTMLを記述する方法に書いたように、Atomフィードの場合は本文にHTMLを入れたい場合はそのままではダメ。1143行目のsummaryタグにtype属性で"html"等の指定が必要。詳細はAtomフィードの本文(?)にHTMLを記述する方法参照。
久し振りに触れてみて思ったのは、このPHPってよく作りこまれてるなぁということ。それだけに設定部分を分かりやすくしてファサードを絞ってないのが惜しい。
関連記事:
RSS/Atomフィードを生成したりSitemapを作成するPHPライブラリ
0 件のコメント:
コメントを投稿