Zend_Controller-ActionHelpers-FlashMessenger.xml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <sect3 id="zend.controller.actionhelpers.flashmessenger">
  2. <title>FlashMessenger</title>
  3. <sect4 id="zend.controller.actionhelper.flashmessenger.introduction">
  4. <title>Wprowadzenie</title>
  5. <para>
  6. Klasa pomocnicza <code>FlashMessenger</code> pozwala na przekazywanie
  7. komunikatów, które użytkownik może zobaczyć przy następnym żądaniu.
  8. Aby tego dokonać, klasa <code>FlashMessenger</code> używa klasy
  9. <code>Zend_Session_Namespace</code> do przechowywania komunikatów,
  10. aby mogły one być odebrane w następnych żądaniach. Jeśli chcesz
  11. używać <code>Zend_Session</code> lub <code>Zend_Session_Namespace</code>,
  12. to dobrym pomysłem jest zainicjowanie tego komponentu w pliku
  13. ładującym za pomocą metody <code>Zend_Session::start()</code>.
  14. (Zobacz dokumentację klasy
  15. <link linkend="zend.session.advanced_usage.starting_a_session">Zend_Session</link>
  16. aby uzyskać więcej szczegółów odnośnie jej użycia.)
  17. </para>
  18. </sect4>
  19. <sect4 id="zend.controller.actionhelper.flashmessenger.basicusage">
  20. <title>Przykład prostego użycia</title>
  21. <para>
  22. Poniższy przykład pokazuje użycie klasy pomocniczej FlashMessenger
  23. w najprostszy możliwy sposób. Gdy wywołana jest akcja
  24. <code>/some/my</code>, dodany zostaje komunikat "Rekord zapisany!".
  25. Następnie żądanie do akcji <code>/some/my-next-request</code>
  26. spowoduje odebranie komunikatu (oraz wykasowanie go).
  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. * domyślna metoda pobierania instancji klasy
  47. * Zend_Controller_Action_Helper_FlashMessenger
  48. */
  49. $this->_flashMessenger->addMessage('Rekord zapisany!');
  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>