Zend_Feed-Introduction.xml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <sect1 id="zend.feed.introduction">
  2. <title>介绍</title>
  3. <para>
  4. <code>Zend_Feed</code>提供了处理的 RSS 和 Atom Feed的功能。它提供了一套自然的方法用于
  5. 访问Feed元素、属性、和条目属性。 除此之外<code>Zend_Feed</code>还扩展提供了同样简单的方法
  6. 用于修改feed和条目的结构,并将结果转化成XML格式。不久的将来这些扩展可能会被 Atom Publishig Protocol(AtomPP)所支持。
  7. </para>
  8. <para>
  9. <code>Zend_Feed</code>由一个<code>Zend_Feed</code>基类、一个<code>Zend_Feed_Abstract</code>抽象类以及一个用于表示Feed和条目的<code>Zend_Feed_Entry_Abstract</code>基类组成。这些类封装了 RSS 和 Atom 的feed和条目特性的,提供了一套自然的方法使他们用起来变得异常简单。
  10. </para>
  11. <para>
  12. 在下面的例子中,我们示范了一个获得一个RSS feed并将其中的一般部分相关数据保存到一个PHP数组中的简单实例,这样这些数据就能方便的用于输出、保存到数据库等等。
  13. </para>
  14. <note>
  15. <title>Be aware</title>
  16. <para>
  17. 许多RSS中的channel和item属性是不同的。RSS的规范中提供了许多可选的属性,因此在编写RSS相关应用代码时要充分考虑这点。
  18. </para>
  19. </note>
  20. <example>
  21. <title>用Zend_Feed来处理RSS Feed数据</title>
  22. <programlisting role="php"><![CDATA[
  23. <?php
  24. require_once 'Zend/Feed.php';
  25. // 取得最新的 Slashdot 头条新闻
  26. try {
  27. $slashdotRss = Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
  28. } catch (Zend_Feed_Exception $e) {
  29. // feed 导入失败
  30. echo "Exception caught importing feed: {$e->getMessage()}\n";
  31. exit;
  32. }
  33. // 初始化保存 channel 数据的数组
  34. $channel = array(
  35. 'title' => $slashdotRss->title(),
  36. 'link' => $slashdotRss->link(),
  37. 'description' => $slashdotRss->description(),
  38. 'items' => array()
  39. );
  40. // 循环获得channel的item并存储到相关数组中
  41. foreach ($slashdotRss as $item) {
  42. $channel['items'][] = array(
  43. 'title' => $item->title(),
  44. 'link' => $item->link(),
  45. 'description' => $item->description()
  46. );
  47. }]]>
  48. </programlisting>
  49. </example>
  50. </sect1>
  51. <!--
  52. vim:se ts=4 sw=4 et:
  53. -->