Zend_Controller-ActionHelpers-FlashMessenger.xml 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  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. この機能を実現するため、<emphasis>FlashMessenger</emphasis> は
  12. <classname>Zend_Session_Namespace</classname> を使用してメッセージを保管しています。
  13. <classname>Zend_Session</classname> や
  14. <classname>Zend_Session_Namespace</classname> を使用する際には、起動ファイル中で
  15. <methodname>Zend_Session::start()</methodname> を実行するようにしましょう
  16. (詳細な使用例は <link linkend="zend.session.advanced_usage.starting_a_session">Zend Session</link>
  17. のドキュメントを参照ください)。
  18. </para>
  19. </sect4>
  20. <sect4 id="zend.controller.actionhelper.flashmessenger.basicusage">
  21. <title>基本的な使用例</title>
  22. <para>
  23. 以下の使用例は、もっとも基本的なフラッシュメッセンジャーの使用法を示すものです。
  24. アクション <filename>/some/my</filename> がコールされると、フラッシュメッセージに
  25. "Record Saved!" が保存されます。そして、その次のアクション
  26. <filename>/some/my-next-request</filename> へのリクエストの際にそれを取得
  27. (そして削除) します。
  28. </para>
  29. <programlisting language="php"><![CDATA[
  30. class SomeController extends Zend_Controller_Action
  31. {
  32. /**
  33. * FlashMessenger
  34. *
  35. * @var Zend_Controller_Action_Helper_FlashMessenger
  36. */
  37. protected $_flashMessenger = null;
  38. public function init()
  39. {
  40. $this->_flashMessenger =
  41. $this->_helper->getHelper('FlashMessenger');
  42. $this->initView();
  43. }
  44. public function myAction()
  45. {
  46. /**
  47. * Zend_Controller_Action_Helper_FlashMessenger
  48. * のインスタンスを必要に応じて取得するための
  49. * デフォルトメソッド
  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>