| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <sect1 id="zend.feed.introduction">
- <title>Введение</title>
- <para>
- <code>Zend_Feed</code> предназначен для работы с
- лентами RSS и Atom. Он предоставляет естетственный синтаксис
- (natural syntax) для доступа к элементам лент, атрибутам лент и
- их сообщений, полностью поддерживает изменение структуры лент и
- публикаций с использованием того же синтаксиса и преобразует
- результаты изменений обратно в XML. В будущем эта
- поддержка изменений может обеспечить добавление поддержки Atom
- Publishing Protocol.
- </para>
- <para>
- Программно <code>Zend_Feed</code> состоит из базового класса
- <code>Zend_Feed</code>, абстрактных базовых классов
- <code>Zend_Feed_Abstract</code>
- и <code>Zend_Feed_Entry_Abstract</code> для представления лент и
- их сообщений, реализаций лент и сообщений применительно для RSS и Atom,
- а также "помощников" для обеспечения работы естетственного
- синтаксиса.
- </para>
- <para>
- В примере ниже мы демонстрируем простое получение ленты RSS и
- сохранение нужных данных из ленты в массив PHP, который
- может быть использован для распечатки, сохранения в БД и т.д.
- </para>
- <note>
- <title>Внимание</title>
- <para>
- Многие ленты RSS различаются по набору доступных свойств каналов и
- сообщений. Спецификация RSS предоставляет множество необязательных
- свойств, поэтому имейте это в виду, когда пишете код для работы с
- данными RSS.
- </para>
- </note>
- <example id="zend.feed.introduction.example.rss">
- <title>Использование Zend_Feed в работе с данными ленты RSS</title>
- <programlisting language="php"><![CDATA[
- // Извлечение последних новостей Slashdot
- try {
- $slashdotRss =
- Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
- } catch (Zend_Feed_Exception $e) {
- // неудача при импортировании ленты
- echo "Exception caught importing feed: {$e->getMessage()}\n";
- exit;
- }
- // Инициализация массива данных каналов
- $channel = array(
- 'title' => $slashdotRss->title(),
- 'link' => $slashdotRss->link(),
- 'description' => $slashdotRss->description(),
- 'items' => array()
- );
- // Обход каналов и сохранение данных
- foreach ($slashdotRss as $item) {
- $channel['items'][] = array(
- 'title' => $item->title(),
- 'link' => $item->link(),
- 'description' => $item->description()
- );
- }
- ]]>
- </programlisting>
- </example>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|