Zend_Feed-Introduction.xml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <sect1 id="zend.feed.introduction">
  2. <title>Wprowadzenie</title>
  3. <para>
  4. <code>Zend_Feed</code> zapewnia funkcjonalność umożliwiającą przetwarzanie
  5. kanałów informacyjnych RSS oraz Atom. Zapewnia ona naturalną składnię umożliwiającą
  6. dostęp do elementów kanałów informacyjnych, ich atrybutów oraz atrybutów samych wpisów.
  7. <code>Zend_Feed</code> daje także obszerne wsparcie w modyfikowaniu kanałów
  8. i struktury wpisów w ten sam naturalny sposób i umożliwia zapisanie rezultatów
  9. jako XML. W przyszłości klasa ma zapewnić obsługę protokołu publikowania Atom
  10. (Atom Publishing Protocol).
  11. </para>
  12. <para>
  13. Programowo <code>Zend_Feed</code> składa się z bazowej klasy <code>Zend_Feed</code>,
  14. abstrakcyjnych klas <code>Zend_Feed_Abstract</code> oraz <code>Zend_Feed_Entry_Abstract</code>
  15. reprezentujących kanały informacyjne i ich wpisy, specyficznych implementacji
  16. kanałów i wpisów dla RSS i Atom, oraz z pomocników odpowiedzialnych za
  17. naturalną składnię.
  18. </para>
  19. <para>
  20. W przykładzie poniżej pokazujemy prosty przykład odbierania danych RSS
  21. i zapisywania potrzebnych części danych kanału do prostej tablicy PHP,
  22. która może być potem użyta do wyświetlenia danych, zapisania ich do bazy
  23. danych itp.
  24. </para>
  25. <note>
  26. <title>Bądż ostrożny</title>
  27. <para>
  28. Wiele kanałów RSS ma dostępne różne właściwości samego kanału i jego elementów.
  29. Specyfikacja RSS umożliwia użycie wielu opcjonalnych parametrów, więc
  30. bądź ostrożny gdy będziesz pisał kod pracujący z RSS.
  31. </para>
  32. </note>
  33. <example id="zend.feed.introduction.example.rss">
  34. <title>Użycie Zend_Feed do pobierania danych RSS</title>
  35. <programlisting role="php"><![CDATA[
  36. // Ściągamy najnowsze nagłówki ze Slashdot
  37. try {
  38. $slashdotRss =
  39. Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
  40. } catch (Zend_Feed_Exception $e) {
  41. // importowanie danych nie udało się
  42. echo "Exception caught importing feed: {$e->getMessage()}\n";
  43. exit;
  44. }
  45. // inicjalizacja tablicy z danymi kanału
  46. $channel = array(
  47. 'title' => $slashdotRss->title(),
  48. 'link' => $slashdotRss->link(),
  49. 'description' => $slashdotRss->description(),
  50. 'items' => array()
  51. );
  52. // Pętla po każdym elemencie kanału i zapisanie potrzebnych danych
  53. foreach ($slashdotRss as $item) {
  54. $channel['items'][] = array(
  55. 'title' => $item->title(),
  56. 'link' => $item->link(),
  57. 'description' => $item->description()
  58. );
  59. }
  60. ]]>
  61. </programlisting>
  62. </example>
  63. </sect1>