| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <sect1 id="zend.feed.modifying-feed">
- <title>Изменение структуры лент и их сообщений</title>
- <para>
- Естетственный синтаксис <code>Zend_Feed</code> используется для создания
- и изменения лент и записей так же, как и для их чтения. Вы можете легко
- преобразовывать свои новые или измененные объекты обратно в
- синтаксически корректный XML для сохранения в файл или отправки серверу.
- </para>
- <example id="zend.feed.modifying-feed.example.modifying">
- <title>Изменение существующего сообщения в ленте</title>
- <programlisting language="php"><![CDATA[
- $feed = new Zend_Feed_Atom('http://atom.example.com/feed/1');
- $entry = $feed->current();
- $entry->title = 'This is a new title';
- $entry->author->email = 'my_email@example.com';
- echo $entry->saveXML();
- ]]>
- </programlisting>
- <para>
- Это выведет полное (включая вступление
- <code><?xml ... ></code>) XML-представление
- новой публикации, включающее в себя необходимые пространства имен
- XML.
- </para>
- <para>
- Обратите внимание на то, что вышеприведенный код будет работать
- даже если существующая запись не имеет тег
- <code><author></code>. Для присвоения вы можете использовать
- столько уровней доступа через <code>-></code>, сколько
- для получения; все промежуточные уровни будут созданы автоматически,
- если необходимо.
- </para>
- </example>
- <para>
- Если вы хотите использовать в своих сообщениях пространство имен,
- отличное от <code>atom:</code>, <code>rss:</code> или
- <code>osrss:</code>, то вам нужно зарегистрировать его через
- <code>Zend_Feed</code>, используя
- метод <code>Zend_Feed::registerNamespace()</code>. Когда вы изменяете
- существующий элемент, он всегда будет сохранять свое исходное
- пространство имен. Когда вы добавляете новый элемент, то он будет
- включен в пространство имен по умолчанию, если не было указано явно
- другое пространство имен.
- </para>
- <example id="zend.feed.modifying-feed.example.creating">
- <title>Создание сообщения Atom с элементами в специальном пространстве имен</title>
- <programlisting language="php"><![CDATA[
- $entry = new Zend_Feed_Entry_Atom();
- // id уже присвоен сервером
- $entry->title = 'my custom entry';
- $entry->author->name = 'Example Author';
- $entry->author->email = 'me@example.com';
- // теперь выполнение специальной части
- Zend_Feed::registerNamespace('myns', 'http://www.example.com/myns/1.0');
- $entry->{'myns:myelement_one'} = 'my first custom value';
- $entry->{'myns:container_elt'}->part1 = 'first nested custom part';
- $entry->{'myns:container_elt'}->part2 = 'second nested custom part';
- echo $entry->saveXML();
- ]]>
- </programlisting>
- </example>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|