RSSフィードの取得
コンロトーラ
public function getrssfeed() {
try {
$newsItems = $this->Rss->read( 'http://kwski.net/feed/'); // フィードURLを指定
} catch( InternalErrorException $e) {
$newsItems = null;
}
$this->set( 'news', $newsItems);
}
コンポーネント
// /app/Controller/Component/RssComponent.php
// XMLクラスの読み込み
App::uses( 'Xml', 'Utility');
class RssComponent extends Component {
/**
* Reads an (external) RSS feed and returns it's items.
*
* @param $feed - The URL to the feed.
* @param int $items - The amount of items to read.
* @return array
* @throws InternalErrorException
*/
public function read( $feed, $items = 5) {
try {
// RSSフィードをリード
$xmlObject = Xml::build( $feed);
} catch ( XmlException $e) {
// Reading XML failed, throw InternalErrorException
throw new InternalErrorException();
}
$output = array();
for($i = 0; $i < $items; $i++):
if (is_object( $xmlObject->channel->item->$i)) {
$output[] = $xmlObject->channel->item->$i;
}
endfor;
return $output;
}
}
関連記事
-
-
日付・時間のバリデーション
日付や時刻に関するバリデーションは以下のルールがビルトインされています。 date 日付 time 時刻 datetime 日時 (m:「月」を数字表記 / M:「月」を英語表記)
-
-
テーブルからランダムにデータを取り出す(find)
CakePHPでテーブルから特定件数のレコードをランダムに取得するには以下のように指定するとできます。 $this->data = $this->Bulkdata->find( 'all',
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
入力文字列の長さ(文字数)をバリデーション
CakePHP 2には、コアバリデーションに文字列の長さを検証する関数が用意されています。 文字列長(コア)バリデーション minLength - 最小文字数以上であること maxLengt
-
-
コントローラ内でバリデーション処理を呼び出す
CakePHPでは、saveメソッドの際にバリデーション処理も自動で行われますが、save処理と切り離してバリデーションを行うこともできます。このときは、save時と若干異なる処理体系になります。
-
-
FormヘルパーのMagicOption (マジックオプション)
Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある
-
-
CSS/JSをひとまとめにして軽量化するプラグイン「Minify plugin for CakePHP」
「Minify plugin for CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。 導入 ダウンロード・解凍し
-
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
-
-
数値系バリデーション
CakePHP 2になっていくつか数値用バリデーションルールが追加されています。 数値用 (コア)バリデーション decimal - 十進数であること numeric - 数値であること
-
-
CakeEmailでメール送信(@gmail)
CakePHP 2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。 CakeEmailクラスの読み込み /app/Config



Comment
RSSフィードの取得 http://t.co/I7UuR6r2qu cakePHP 2.4 ブログ