1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- EN-Revision: 20765 -->
4 <sect3 id="zend.controller.actionhelpers.actionstack">
5 <title>ActionStack</title>
8 <emphasis>ActionStack</emphasis> ヘルパーは、リクエストをフロントコントローラの
9 <link linkend="zend.controller.plugins.standard.actionstack">ActionStack</link>
11 リクエストの実行時にアクションのキューを作成しやすくなります。
14 アクション - コントローラ - モジュール の設定を指定するかのいずれかを用います。
18 <title>ActionStack ヘルパーを起動すると ActionStack プラグインが初期化される</title>
21 <emphasis>ActionStack</emphasis> を起動すると、暗黙のうちに
22 <emphasis>ActionStack</emphasis> プラグインを登録します。
23 つまり、この機能を使う際に明示的に <emphasis>ActionStack</emphasis>
24 プラグインを登録する必要はないということです。
28 <example id="zend.controller.actionhelpers.actionstack.simple">
29 <title>アクション、コントローラおよびモジュール名によるタスクの追加</title>
32 単純にアクションとコントローラそしてモジュール
34 を指定して <methodname>Zend_Controller_Action::_forward()</methodname>
38 <programlisting language="php"><![CDATA[
39 class FooController extends Zend_Controller_Action
41 public function barAction()
43 // 2 つのアクションをスタックに格納して
44 // /foo/baz/bar/baz をコールします
45 // (FooController::bazAction() にリクエスト変数 bar == baz を指定したもの)
46 $this->_helper->actionStack('baz',
49 array('bar' => 'baz'));
52 // (BarController::batAction()) を追加します
53 $this->_helper->actionStack('bat', 'bar');
60 <example id="zend.controller.actionhelpers.actionstack.simple2">
61 <title>リクエストオブジェクトによるタスクの追加</title>
64 時にはリクエストオブジェクトのオブジェクト指向的な部分が使いたいこともあるでしょう。
65 そんな場合はこのオブジェクトを <emphasis>ActionStack</emphasis>
69 <programlisting language="php"><![CDATA[
70 class FooController extends Zend_Controller_Action
72 public function barAction()
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);
84 // (BarController::batAction()) を追加します
85 $request = clone $this->getRequest();
86 // モジュールは指定せず、現在の値を使用します
87 $request->setActionName('bat')
88 ->setControllerName('bar');
89 $this->_helper->actionStack($request);