2
0

Zend_Controller-ActionHelpers-FlashMessenger.xml 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect3 id="zend.controller.actionhelpers.flashmessenger">
  4. <title>FlashMessenger</title>
  5. <sect4 id="zend.controller.actionhelper.flashmessenger.introduction">
  6. <title>Введение</title>
  7. <para>
  8. Помощник <code>FlashMessenger</code> позволяет передавать сообщения,
  9. которые нужно отобразить пользователю при следующем запросе.
  10. Для хранения сообщений до следующего запроса
  11. <code>FlashMessenger</code> использует
  12. <classname>Zend_Session_Namespace</classname> . Как правило, лучше всего
  13. использовать тот <classname>Zend_Session</classname> или
  14. <classname>Zend_Session_Namespace</classname>, который вы инициализировали с
  15. помощью <code>Zend_Session::start()</code> в своем файле загрузки.
  16. (За более подробной информацией об использовании см.
  17. <link linkend="zend.session.advanced_usage.starting_a_session">Zend Session</link>).
  18. </para>
  19. </sect4>
  20. <sect4 id="zend.controller.actionhelper.flashmessenger.basicusage">
  21. <title>Базовый пример использования</title>
  22. <para>
  23. Пример использования ниже демонстрирует простейший случай
  24. использования мессенджера. Когда вызывается действие
  25. <code>/some/my</code>, оно добавляет мгновенное сообщение "Record
  26. Saved!". Последующий запрос к действию
  27. <code>/some/my-next-request</code> получит это сообщение
  28. (и удалит его).
  29. </para>
  30. <programlisting language="php"><![CDATA[
  31. class SomeController extends Zend_Controller_Action
  32. {
  33. /**
  34. * FlashMessenger
  35. *
  36. * @var Zend_Controller_Action_Helper_FlashMessenger
  37. */
  38. protected $_flashMessenger = null;
  39. public function init()
  40. {
  41. $this->_flashMessenger =
  42. $this->_helper->getHelper('FlashMessenger');
  43. $this->initView();
  44. }
  45. public function myAction()
  46. {
  47. /**
  48. * используемый по умолчанию метод для получения экземпляра
  49. * Zend_Controller_Action_Helper_FlashMessenger
  50. */
  51. $this->_flashMessenger->addMessage('Record Saved!');
  52. }
  53. public function myNextRequestAction()
  54. {
  55. $this->view->messages = $this->_flashMessenger->getMessages();
  56. $this->render();
  57. }
  58. }
  59. ]]></programlisting>
  60. </sect4>
  61. </sect3>