(圖片來源)
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閱讀器
參考:
RoumenDamianoff/laravel-feed – Basic Feed
RoumenDamianoff/laravel-feed – Multiple Feeds