Zend_Feed-ModifyingFeed.xml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <sect1 id="zend.feed.modifying-feed">
  2. <title>Modyfikacja kanału oraz struktury wpisów</title>
  3. <para>
  4. Naturalna składnia <code>Zend_Feed</code> pozwala na konstruowanie oraz
  5. modyfikowanie kanałów i wpisów tak samo jak na odczytywanie ich. Możesz
  6. łatwo zamienić nowy lub zmodyfikowany obiekt spowrotem do poprawnego XML
  7. aby zapisać go do pliku lub wysłać na serwer.
  8. </para>
  9. <example id="zend.feed.modifying-feed.example.modifying">
  10. <title>Modyfikacja istniejącego wpisu</title>
  11. <programlisting role="php"><![CDATA[
  12. $feed = new Zend_Feed_Atom('http://atom.example.com/feed/1');
  13. $entry = $feed->current();
  14. $entry->title = 'To jest nowy tytuł';
  15. $entry->author->email = 'my_email@example.com';
  16. echo $entry->saveXML();
  17. ]]>
  18. </programlisting>
  19. <para>
  20. To wyświetli pełną (dołączając prolog <code>&lt;?xml ... &gt;</code>)
  21. reprezentację XML nowego wpisu, dołączając potrzebne przestrzenie
  22. nazw XML.
  23. </para>
  24. <para>
  25. Zauważ, że powyższy przykład będzie działał nawet gdy istniejący wpis
  26. nie posiada znacznika autora (author). Możesz użyć tyle ile chcesz
  27. poziomów dostępu <code>-&gt;</code> zanim dokonasz przypisania;
  28. wszystkie pośrednie poziomy zostaną automatycznie utworzone gdy będzie
  29. to potrzebne.
  30. </para>
  31. </example>
  32. <para>
  33. Jeśli chcesz użyć innej przestrzeni nazw niż <code>atom:</code>, <code>rss:</code>, lub
  34. <code>osrss:</code> w swoim wpisie, musisz zarejestrować przestrzeń nazw
  35. w <code>Zend_Feed</code> używając metody <code>Zend_Feed::registerNamespace()</code>.
  36. Gdy modyfikujesz istniejący element, będzie on zawsze zachowywał oryginalną
  37. przestrzeń nazw. Gdy dodajesz nowy element, będzie on utworzony w domyślnej
  38. przestrzeni nazw jeśli nie określisz precyzyjnie innej przestrzeni.
  39. </para>
  40. <example id="zend.feed.modifying-feed.example.creating">
  41. <title>Tworzenie wpisu Atom z elementami własnej przestrzeni nazw</title>
  42. <programlisting role="php"><![CDATA[
  43. $entry = new Zend_Feed_Entry_Atom();
  44. // id w Atom jest zawsze nadane przez serwer
  45. $entry->title = 'mój własny wpis';
  46. $entry->author->name = 'Przykładowy autor';
  47. $entry->author->email = 'me@example.com';
  48. // Teraz własna część
  49. Zend_Feed::registerNamespace('myns', 'http://www.example.com/myns/1.0');
  50. $entry->{'myns:myelement_one'} = 'pierwsza własna część';
  51. $entry->{'myns:container_elt'}->part1 = 'pierwsza zagnieżdżona część';
  52. $entry->{'myns:container_elt'}->part2 = 'druga zagnieżdżona część';
  53. echo $entry->saveXML();
  54. ]]>
  55. </programlisting>
  56. </example>
  57. </sect1>