[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Controller-ActionHelpers-ActionStack.xml
blobe5ed439282e6d3bb665a246952abce4bc365a056
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20765 -->
4 <sect3 id="zend.controller.actionhelpers.actionstack">
5     <title>ActionStack</title>
7     <para>
8         <emphasis>ActionStack</emphasis> ヘルパーは、リクエストをフロントコントローラの
9         <link linkend="zend.controller.plugins.standard.actionstack">ActionStack</link>
10         プラグインに格納します。これにより、
11         リクエストの実行時にアクションのキューを作成しやすくなります。
12         このヘルパーは、アクションを追加する際に
13         新しいリクエストオブジェクトを指定するか
14         アクション - コントローラ - モジュール の設定を指定するかのいずれかを用います。
15     </para>
17     <note>
18         <title>ActionStack ヘルパーを起動すると ActionStack プラグインが初期化される</title>
20         <para>
21             <emphasis>ActionStack</emphasis> を起動すると、暗黙のうちに
22             <emphasis>ActionStack</emphasis> プラグインを登録します。
23             つまり、この機能を使う際に明示的に <emphasis>ActionStack</emphasis>
24             プラグインを登録する必要はないということです。
25         </para>
26     </note>
28     <example id="zend.controller.actionhelpers.actionstack.simple">
29         <title>アクション、コントローラおよびモジュール名によるタスクの追加</title>
31         <para>
32             単純にアクションとコントローラそしてモジュール
33             (およびオプションでリクエストパラメータ)
34             を指定して <methodname>Zend_Controller_Action::_forward()</methodname>
35             をコールするのが一番シンプルな方法です。
36         </para>
38         <programlisting language="php"><![CDATA[
39 class FooController extends Zend_Controller_Action
41     public function barAction()
42     {
43         // 2 つのアクションをスタックに格納して
44         // /foo/baz/bar/baz をコールします
45         // (FooController::bazAction() にリクエスト変数 bar == baz を指定したもの)
46         $this->_helper->actionStack('baz',
47                                     'foo',
48                                     'default',
49                                     array('bar' => 'baz'));
51         // /bar/bat のコール
52         // (BarController::batAction()) を追加します
53         $this->_helper->actionStack('bat', 'bar');
54     }
56 ]]></programlisting>
58     </example>
60     <example id="zend.controller.actionhelpers.actionstack.simple2">
61         <title>リクエストオブジェクトによるタスクの追加</title>
63         <para>
64             時にはリクエストオブジェクトのオブジェクト指向的な部分が使いたいこともあるでしょう。
65             そんな場合はこのオブジェクトを <emphasis>ActionStack</emphasis>
66             ヘルパーに渡すこともできます。
67         </para>
69         <programlisting language="php"><![CDATA[
70 class FooController extends Zend_Controller_Action
72     public function barAction()
73     {
74         // 2 つのアクションをスタックに格納して
75         // /foo/baz/bar/baz をコールします
76         // (FooController::bazAction() にリクエスト変数 bar == baz を指定したもの)
77         $request = clone $this->getRequest();
78         // コントローラやモジュールは指定せず、現在の値を使用します
79         $request->setActionName('baz')
80                 ->setParams(array('bar' => 'baz'));
81         $this->_helper->actionStack($request);
83         // /bar/bat のコール
84         // (BarController::batAction()) を追加します
85         $request = clone $this->getRequest();
86         // モジュールは指定せず、現在の値を使用します
87         $request->setActionName('bat')
88                 ->setControllerName('bar');
89         $this->_helper->actionStack($request);
90     }
92 ]]></programlisting>
93     </example>
94 </sect3>
95 <!--
96 vim:se ts=4 sw=4 et:
97 -->