Zend_Controller-ActionHelpers-FlashMessenger.xml 3.0 KB

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