[ZF-10089] Zend_Log
[zend.git] / documentation / manual / pl / module_specs / Zend_Feed-ConsumingRss.xml
blob6f3cb79b38827f91d7a812f5b66bfef3da9a6919
1 <sect1 id="zend.feed.consuming-rss">
2     <title>Odbieranie danych z kanału informacyjnego RSS</title>
3     <para>
4         Odczytywanie kanału RSS jest tak proste jak utworzenie obiektu <code>Zend_Feed_Rss</code> z adresem
5         URL kanału przekazanym do konstruktora:
6     </para>
7     <programlisting role="php"><![CDATA[
8 $channel = new Zend_Feed_Rss('http://rss.example.com/channelName');
9 ]]>
10     </programlisting>
11     <para>
12         Jeśli wystąpi jakiś błąd podczas obróbki danych pochodzących z kanału,
13         zostanie wyrzucony wyjątek <code>Zend_Feed_Exception</code>.
14     </para>
16     <para>
17         Kiedy już masz obiekt kanału informacyjnego, możesz łatwo uzyskać dostęp
18         do standardowych właściwości kanału RSS bezpośrednio na obiekcie:
19     </para>
20     <programlisting role="php"><![CDATA[
21 echo $channel->title();
22 ]]>
23     </programlisting>
24     <para>
25         Zwróć uwagę na składnie funkcji. <code>Zend_Feed</code> używa konwencji
26         traktującej właściwości jak obiekt XML gdy próbujemy uzyskać do nich dostęp
27         za pomocą składni "getter" (<code>$obj->property</code>) i jako łańcuch
28         znaków gdy próbujemy uzyskać dostęp jak do metody (<code>$obj->property()</code>).
29         To pozwala na pełny dostęp do danych tekstowych przy jednoczesnym dostępie
30         do wszystkich niższych składników.
31     </para>
33     <para>
34         Jeśli właściwości kanału mają atrybuty, są one dostępne przy użyciu składni
35         tablic PHP:
36     </para>
37     <programlisting role="php"><![CDATA[
38 echo $channel->category['domain'];
39 ]]>
40     </programlisting>
41     <para>
42         Since XML attributes cannot have children, method syntax is not necessary for accessing attribute
43         values.
44     </para>
46     <para>
47         Najczęściej będziesz chciał przejść pętlą po danych kanału i zrobić coś
48         z jego wpisami. Klasa <code>Zend_Feed_Abstract</code> implementuje wbudowany
49         w PHP interfejs <code>Iterator</code>, więc wyświetlenie wszystkich tytułów
50         artykułów z kanału jest bardzo proste:
51     </para>
52     <programlisting role="php"><![CDATA[
53 foreach ($channel as $item) {
54     echo $item->title() . "\n";
56 ]]>
57     </programlisting>
58     <para>
59         Jeśli nie jesteś obeznany z RSS, poniżej znajdziesz opis podstawowych
60         składników, które możesz znaleść w kanale RSS i w jego indywidualnych
61         elementach (wpisach).
62     </para>
64     <para>
65         Wymagane składniki kanału:
66     </para>
68     <para>
69         <itemizedlist>
70             <listitem>
71                 <para><code>title</code> - Nazwa kanału</para>
72             </listitem>
73             <listitem>
74                 <para><code>link</code> - Adres URL strony internetowej odpowiadającej kanałowi</para>
75             </listitem>
76             <listitem>
77                 <para><code>description</code> - Opis kanału</para>
78             </listitem>
79         </itemizedlist>
80     </para>
82     <para>
83         Opcjonalne składniki kanału:
84     </para>
86     <para>
87         <itemizedlist>
88             <listitem>
89                 <para><code>pubDate</code> - Data publikacji zawartości, format RFC 822 format</para>
90             </listitem>
91             <listitem>
92                 <para><code>language</code> - Język kanału</para>
93             </listitem>
94             <listitem>
95                 <para><code>category</code> - Jedna lub więcej kategorii do których należy kanał</para>
96             </listitem>
97         </itemizedlist>
98     </para>
100     <para>
101         Elementy RSS <code>&lt;item&gt;</code> nie mają wymaganych składników,
102         jednak albo składnik <code>title</code> albo <code>description</code> musi
103         istnieć w elemencie.
104     </para>
106     <para>
107         Składniki elementu kanału:
108     </para>
110     <para>
111         <itemizedlist>
112             <listitem>
113                 <para><code>title</code> - Tytuł elementu</para>
114             </listitem>
115             <listitem>
116                 <para><code>link</code> - Adres URL elementu</para>
117             </listitem>
118             <listitem>
119                 <para><code>description</code> - Opis elementu</para>
120             </listitem>
121             <listitem>
122                 <para><code>author</code> - Adres email autora elementu</para>
123             </listitem>
124             <listitem>
125                 <para><code>category</code> - Jedna lub więcej kategorii do których należy element</para>
126             </listitem>
127             <listitem>
128                 <para><code>comments</code> - Adres URL komentarzy do tego elementu</para>
129             </listitem>
130             <listitem>
131                 <para><code>pubDate</code> - Data publikacji elementu, w formacie RFC 822</para>
132             </listitem>
133         </itemizedlist>
134     </para>
136     <para>
137         W twoim kodzie zawsze możesz sprawdzić czy element nie jest pusty za pomocą:
138     </para>
139     <programlisting role="php"><![CDATA[
140 if ($item->propname()) {
141     // ... kontynuuj.
144     </programlisting>
146     <para>
147         Jeśli zamiast tego użyjesz <code>$item->propname</code>, zawsze dostaniesz
148         pusty obiekt który zostanie skonwertowany do wartości <code>TRUE</code>,
149         więc test zawiedzie.
150     </para>
152     <para>
153         Więcej informacji dostępnych jest w oficjalnej specyfikacji RSS 2.0:
154         <ulink url="http://blogs.law.harvard.edu/tech/rss">http://blogs.law.harvard.edu/tech/rss</ulink>
155     </para>
156 </sect1>