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');

});