Zend_Controller-ActionHelpers-FlashMessenger.xml 2.8 KB

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