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; } }
関連記事
-
-
Markdown Plugin
「Markdown CakePHP Plugin」は、MarkDown書式をレンダリングしてくれるビューヘルパーです。MarkDownについて勉強しているうちに出会ったので試し打ちです。 ダウンロー
-
-
コントローラ内でバリデーション処理を呼び出す
CakePHPでは、saveメソッドの際にバリデーション処理も自動で行われますが、save処理と切り離してバリデーションを行うこともできます。このときは、save時と若干異なる処理体系になります。
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
数値系バリデーション
CakePHP 2になっていくつか数値用バリデーションルールが追加されています。 数値用 (コア)バリデーション decimal - 十進数であること numeric - 数値であること
-
-
ハッシュ関数の選択とハッシュ化処理
CakePHPでは、ログイン時にはpasswordを自動的にハッシュ化して認証を行ってくれますが、そのパスワードを登録する際は、明示的にハッシュ化する必要があります。 ハッシュ関数の選択 ハッ
-
-
入力文字列の長さ(文字数)をバリデーション
CakePHP 2には、コアバリデーションに文字列の長さを検証する関数が用意されています。 文字列長(コア)バリデーション minLength - 最小文字数以上であること maxLengt
-
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
-
-
多言語サイト向けに翻訳ファイルを使って翻訳を行う
CakePHPには、翻訳をビヘイビアを使用する方法と翻訳ファイルを使用する方法の2つがあるそうです。(他にもあるのかな?) 今回は、翻訳ファイルを使用して言語の切り替えを行い、その言語設定をCook
-
-
独自のバリデーションルールを作成
CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規
-
-
ログローテーション
CakePHP 2.xではbootstrap.php内にあらかじめアプリケーションログの設定が書かれています。2.xで日付ごとにログファイルが切り替わるよう設定してみました。 日ごとにログを切り替え
Comment
RSSフィードの取得 http://t.co/I7UuR6r2qu cakePHP 2.4 ブログ