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;
}
}
関連記事
-
-
(メール・URL・電話・郵便・IP) データ バリデーション
今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス
-
-
Syslogログエンジン
2.4から「Syslog」ログクラスが追加され、簡単にSyslogを使用できるようになりました。 CakePHP側の設定はbootstrap.php内のCakeLogコンフィグのengineを'Sy
-
-
ログローテーション
CakePHP 2.xではbootstrap.php内にあらかじめアプリケーションログの設定が書かれています。2.xで日付ごとにログファイルが切り替わるよう設定してみました。 日ごとにログを切り替え
-
-
CakePHP インストール時エラーの対処
CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。 Timezone未設
-
-
テーブルからランダムにデータを取り出す(find)
CakePHPでテーブルから特定件数のレコードをランダムに取得するには以下のように指定するとできます。 $this->data = $this->Bulkdata->find( 'all',
-
-
バリデーションエラーメッセージの取得
CakePHP 2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。1.3系では、ひとつのフィールドに対して返却されるメッセージは一つのルールのみですが、2.
-
-
recursive設定によるfind()性能改善
CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま
-
-
入力文字列の長さ(文字数)をバリデーション
CakePHP 2には、コアバリデーションに文字列の長さを検証する関数が用意されています。 文字列長(コア)バリデーション minLength - 最小文字数以上であること maxLengt
-
-
バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」
CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali
-
-
独自のバリデーションルールを作成
CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規



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