| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.controller.actionhelpers.flashmessenger">
- <title>FlashMessenger</title>
- <sect4 id="zend.controller.actionhelper.flashmessenger.introduction">
- <title>Введение</title>
- <para>
- Помощник <emphasis>FlashMessenger</emphasis> позволяет передавать сообщения,
- которые требуется отобразить пользователю при следующем запросе.
- Это достигается путем сохранения сообщений в
- <classname>Zend_Session_Namespace</classname>, откуда они могут быть получены при
- последующих запросах. Если вы планируете использовать
- <classname>Zend_Session</classname> или <classname>Zend_Session_Namespace</classname>,
- имеет смысл инициализировать сессию еще в файле загрузки командой
- <methodname>Zend_Session::start()</methodname>. (Подробнее о работе с сессиями в
- документации к
- <link linkend="zend.session.advanced_usage.starting_a_session">Zend_Session</link>)
- </para>
- </sect4>
- <sect4 id="zend.controller.actionhelper.flashmessenger.basicusage">
- <title>Пример использования</title>
- <para>
- Нижеприведенный пример иллюстрирует самое простое использование помощника
- <emphasis>FlashMessenger</emphasis>. При вызове действия <filename>/some/my</filename>
- добавляется сообщение "Запись сохранена!". При последующем вызове действия
- <filename>/some/my-next-request</filename> это сообщение будет
- получено из сессии (сразу после этого удалено) и отображено пользователю.
- </para>
- <programlisting language="php"><![CDATA[
- class SomeController extends Zend_Controller_Action
- {
- /**
- * FlashMessenger
- *
- * @var Zend_Controller_Action_Helper_FlashMessenger
- */
- protected $_flashMessenger = null;
- public function init()
- {
- $this->_flashMessenger =
- $this->_helper->getHelper('FlashMessenger');
- $this->initView();
- }
- public function myAction()
- {
- /**
- * метод для получения экземпляра помощника
- * Zend_Controller_Action_Helper_FlashMessenger
- */
- $this->_flashMessenger->addMessage('Запись сохранена!');
- }
- public function myNextRequestAction()
- {
- $this->view->messages = $this->_flashMessenger->getMessages();
- $this->render();
- }
- }
- ]]></programlisting>
- </sect4>
- </sect3>
|