close

37150038940_1520f95a76_z.jpg

(圖片來源)

RSS (Really Simple Syndication) 是一種用來分發和蒐集網頁內容 (如:媒體的新聞或文章標題) 的 XML 格式。透過這種格式,生產資訊(Content)的網站可以將最新的內容與摘要,傳送到訂閱者的面前。使用者可藉由RSS閱讀器可在桌機、手機上來閱讀。標準的XML檔式可允許資訊在一次發布後透過不同的程式閱覽。

雖然 RSS訂閱 目前並沒有太多的使用者,但是有使用者在使用那我們就需要提供這樣的服務,實做這項服務其實並不困難,困難的是要如何 “快速" 的完成這項功能,而把精力放在更重要的開發上。

 

Step1 搜尋套件

首先開啟 Composer Package 的網站,輸入並選擇 roumen/feed。既然已經有前人造好輪子,那我們當然要好好利用,可以省下不少時間!

Step2 安裝套件

打開 Teriminal 輸入 composer require roumen/feed,並等待它完成安裝。

安裝完成後打開專案的 composer.json 檔就可以看到已經裝入套件

在 Laravel 中註冊此項服務,打開 config/app.php ,並在 providers 和 aliases 加入下方元素。

'providers' => [
   ...
     Roumen\Feed\FeedServiceProvider::class,
],
'aliases' => [
    ...
    'Feed' => Roumen\Feed\Feed::class,
],

Step3 加入路由

//取得 RSS 文件
Route::get('/feed', 'ServiceController@feed');

Step4 在 Controller 加入 function

public function feed()
{
    $datas = Content::getRSSData();  // 取得要顯示的 RSS 資料
 
    $feed = App::make('feed');
 
    $feed->title = '我是title';
    $feed->description = '我是描述';
    $feed->link = url('feed');
 
    foreach ($datas as $data) {
        $feed->add(
            $data->title,
            $data->author,
            $data->url,
            $data->pubdate,
            $data->description
        );
    }
 
    $feed->ctype = "text/xml";   // 設定產出格式
 
    return $feed->render('rss'); // 產出頁面
}

Step5 輸入網址並測試結果

※ RSS閱讀器

Feedly

參考:

RoumenDamianoff/laravel-feed – Basic Feed

RoumenDamianoff/laravel-feed – Multiple Feeds 

 

 

 

 

 

 

arrow
arrow

    Mayuge 發表在 痞客邦 留言(0) 人氣()