Laravel:RSSフィードバンドル
タグ: Laravel3
シンプルなatom/rssフィード生成バンドルです。段々使用されることは少なくなったとはいえ、情報収集に使用している方もいらっしゃいますし、ボットに情報を引っ掛けてもらうには、用意しておいたほうが有利ですね。
Laravelのバンドル紹介ページはこちらです。
インストール
php artisan bundle:install sitemap
もしくはhttp://github.com/RoumenMe/laravel-feedから直接ダウンロードします。
インストール後、application/bundles.phpを設定し、バンドルを有効にしましょう。
'feed' => array('auto' => true)
サンプルコード
良いサンプルコードが用意されています。コメント部分を翻訳します。それだけで、使えると思います。
Route::get('feed', function(){
// 最新20記事のatomフィードを生成
$posts = DB::table('posts')->order_by('created', 'desc')->take(20)->get();
// Feedインスタンスを生成
$feed = new Feed();
// タイトル、説明、リンクアドレス、出版日、言語をセット
$feed->title = 'タイトル';
$feed->description = '説明';
$feed->link = URL::to('feed');
$feed->pubdate = $posts[0]->created;
$feed->lang = 'en';
$feed->charset = 'utf-8';
foreach ($posts as $post)
{
// アイテムのタイトル、著者、URL、出版日、説明をセット
$feed->add($post->title, $post->author, URL::to($post->url), $post->created, $post->description);
}
// フィードの表示
// オプション 'atom'(推奨), 'rss'
return $feed->render('atom');
});