Zend Framework の紹介

 Learning Zend Framework

appendix

 Zend Framework リファレンス


  • 第36章 Zend_Gdata
  • 第37章 Zend_Http
  • 第38章 Zend_InfoCard
  • 第39章 Zend_Json
  • 第40章 Zend_Layout
  • 第41章 Zend_Ldap
  • 第42章 Zend_Loader
  • 第43章 Zend_Locale
  • 第44章 Zend_Log
  • 第45章 Zend_Mail
  • 第46章 Zend_Markup
  • 第47章 Zend_Measure
  • 第48章 Zend_Memory
  • 第49章 Zend_Mime
  • 第50章 Zend_Navigation
  • 第51章 Zend_Oauth
  • 第52章 Zend_OpenId
  • 第53章 Zend_Paginator
  • 第54章 Zend_Pdf
  • 第55章 Zend_ProgressBar
  • 第56章 Zend_Queue
  • 第57章 Zend_Reflection
  • 第58章 Zend_Registry
  • 第59章 Zend_Rest

  • 第60章 Zend_Search_Lucene
  • 第61章 Zend_Serializer
  • 第62章 Zend_Server
  • 第63章 Zend_Service
  • 第64章 Zend_Session
  • 第65章 Zend_Soap
  • 第66章 Zend_Tag
  • 第67章 Zend_Test
  • 第68章 Zend_Text
  • 第69章 Zend_TimeSync
  • 第70章 Zend_Tool
  • 第71章 Zend_Tool_Framework
  • 第72章 Zend_Tool_Project
  • 第73章 Zend_Translate
  • 第74章 Zend_Uri
  • 第75章 Zend_Validate
  • 第76章 Zend_Version
  • 第77章 Zend_View
  • 第78章 Zend_Wildfire
  • 第79章 Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 70.6% Update 2010-11-28 - Revision 23415

    第32章 Zend_Feed

    32.1. 導入

    Zend_Feed は、RSS や Atom のフィードを扱う機能を提供します。 フィードの要素や属性、そしてエントリの属性に、自然な方法でアクセスできるようになります。 また、Zend_Feed でフィードやエントリの構造を変更し、 その結果を XML に書き戻すという拡張機能もあります。将来的には Atom Publishig Protocol (AtomPP) にも対応させる予定です。

    Zend_Feed の構成は、基底クラス Zend_Feed、 フィードやエントリを扱うための基底抽象クラス Zend_Feed_Abstract および Zend_Feed_Entry_AbstractRSS や Atom 用のフィードクラスとエントリクラスの実装、 そして自然な方法でそれらを操作するためのヘルパーから成り立っています。

    以下では、RSS フィードの取得、 フィードデータの PHP 配列への変換、データの表示、 データベースへの保存などの簡単な使用例を示します。

    [注意] 注意

    RSS フィードによって、使用できるチャネルやアイテムのプロパティが違います。 RSS の仕様ではオプションのプロパティが多く定義されているので、 RSS データを扱うコードを書く際にはこのことに注意しましょう。

    例 32.1. Zend_Feed による RSS フィードデータの使用

    // 最新の Slashdot ヘッドラインを取得します
    try {
        
    $slashdotRss =
            
    Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
    } catch (
    Zend_Feed_Exception $e) {
        
    // フィードの読み込みに失敗しました
        
    echo "フィードの読み込み中に例外が発生: {$e->getMessage()}\n";
        exit;
    }

    // チャネルデータの配列を初期化します
    $channel = array(
        
    'title'       => $slashdotRss->title(),
        
    'link'        => $slashdotRss->link(),
        
    'description' => $slashdotRss->description(),
        
    'items'       => array()
        );

    // チャネルの各項目をループし、関連するデータを保存します
    foreach ($slashdotRss as $item) {
        
    $channel['items'][] = array(
            
    'title'       => $item->title(),
            
    'link'        => $item->link(),
            
    'description' => $item->description()
            );
    }

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...