cakePHPでSimplePieを使う
公私共にRSSやATOMと言ったFeedをパースする機会が多い今日この頃。最近お世話になっているcakePHP + Simple Pieについてまとめておこうと思います。既に、cakePHP + Simple Pieに関しては、コンポーネントが公開されていますので、それを利用する手順をここではまとめたいと思います。以下、手順となります。
1, コンポーネントの作成
/app/controllers/componentsにsimplepie.phpと言うファイルを作成し、こちらのコードを保存します。
2, Simple pie本体をダウンロード
SimplePie本体をダウンロードします。ダウンロードしたら、vendorsフォルダに突っ込みます。僕は、/app/vendors/simplepie/simplepie.phpとしています。
3, キャッシュディレクトリの作成
tmpディレクトリ内に、feedをキャッシュする用のディレクトリ、/rssを作成します。
4, 実際の使い方はこんな感じです。
Controller ( /controllers/controller_name_controller.php )
[PHP]
var $components = array( ‘Simplepie’ );
function sample () {
$this->set( ‘items’, $this->Simplepie->feed( ‘feedのURL’ ) );
}
[/PHP]
View ( /views/controller_name/sample.ctp )
[PHP]
foreach ( $items as $item ) {
echo $html->linlk( $item->get_title(), $item->get_permalink() );
echo $item->get_description();
}
[/PHP]
これで簡単にFeedをフェッチして、パースしたりする事ができます。
ちなみに、今回はViewでget_title()とかget_permalink()とかと言った、SimplePieのメソッドを使っていますが、(仕事やプライベートで作成している実際のコードでは)コントローラーでも利用する事ができます。
また、SimplePieで利用可能なメソッドに関しては、こちらで確認する事ができます。
Posted in: 未分類
コメントする

