| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <sect1 id="zend.feed.introduction">
- <title>Wprowadzenie</title>
- <para>
- <code>Zend_Feed</code> zapewnia funkcjonalność umożliwiającą przetwarzanie
- kanałów informacyjnych RSS oraz Atom. Zapewnia ona naturalną składnię umożliwiającą
- dostęp do elementów kanałów informacyjnych, ich atrybutów oraz atrybutów samych wpisów.
- <code>Zend_Feed</code> daje także obszerne wsparcie w modyfikowaniu kanałów
- i struktury wpisów w ten sam naturalny sposób i umożliwia zapisanie rezultatów
- jako XML. W przyszłości klasa ma zapewnić obsługę protokołu publikowania Atom
- (Atom Publishing Protocol).
- </para>
- <para>
- Programowo <code>Zend_Feed</code> składa się z bazowej klasy <code>Zend_Feed</code>,
- abstrakcyjnych klas <code>Zend_Feed_Abstract</code> oraz <code>Zend_Feed_Entry_Abstract</code>
- reprezentujących kanały informacyjne i ich wpisy, specyficznych implementacji
- kanałów i wpisów dla RSS i Atom, oraz z pomocników odpowiedzialnych za
- naturalną składnię.
- </para>
- <para>
- W przykładzie poniżej pokazujemy prosty przykład odbierania danych RSS
- i zapisywania potrzebnych części danych kanału do prostej tablicy PHP,
- która może być potem użyta do wyświetlenia danych, zapisania ich do bazy
- danych itp.
- </para>
- <note>
- <title>Bądż ostrożny</title>
- <para>
- Wiele kanałów RSS ma dostępne różne właściwości samego kanału i jego elementów.
- Specyfikacja RSS umożliwia użycie wielu opcjonalnych parametrów, więc
- bądź ostrożny gdy będziesz pisał kod pracujący z RSS.
- </para>
- </note>
- <example id="zend.feed.introduction.example.rss">
- <title>Użycie Zend_Feed do pobierania danych RSS</title>
- <programlisting role="php"><![CDATA[
- // Ściągamy najnowsze nagłówki ze Slashdot
- try {
- $slashdotRss =
- Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
- } catch (Zend_Feed_Exception $e) {
- // importowanie danych nie udało się
- echo "Exception caught importing feed: {$e->getMessage()}\n";
- exit;
- }
- // inicjalizacja tablicy z danymi kanału
- $channel = array(
- 'title' => $slashdotRss->title(),
- 'link' => $slashdotRss->link(),
- 'description' => $slashdotRss->description(),
- 'items' => array()
- );
- // Pętla po każdym elemencie kanału i zapisanie potrzebnych danych
- foreach ($slashdotRss as $item) {
- $channel['items'][] = array(
- 'title' => $item->title(),
- 'link' => $item->link(),
- 'description' => $item->description()
- );
- }
- ]]>
- </programlisting>
- </example>
- </sect1>
|