0

以下に述べるように、Zendモジュール間で通信する方法はありますか?

$sVariableが「bla」を返すようにします。しかし、それは私に与えます

Zend_Controller_Action_Helper_ActionStack Object.

1つのモジュール呼び出しで:

$sVariable = $this->_helper->actionStack('login', 'index', 'user');
echo $sVariable;

そして他のモジュールでは:

class User_IndexController extends Zend_Controller_Action
{
    public function loginAction()
    {
        return "bla";
    }
}
4

3 に答える 3

0

通常、モジュールコントローラ間で通信することはベストプラクティスではありません。この変数/ロジックをモデルに移動できますか?モジュール間でのモデルの操作は、オートローダーによって非常に簡単になります。

于 2012-05-21T19:57:45.550 に答える
0

オプションはZend_Regsitryを使用していました。loginAction()では、次のことができます。

Zend_Registry::set('bla', $aUserData['sVariable']);

そしてそれを取り戻すためにあなたはすることができます。

$registry = Zend_Registry::getInstance();
echo ($registry['sVariable']);

しかし、それは厄介でした。そこで、コントローラーアクションにあったものをヘルパーに移動しました。それで私の問題は解決しました。

于 2012-05-23T14:57:03.263 に答える
0

あなたがしていることは良い習慣ではありませんが、それでもそれを機能させたい場合は、リターンの代わりにエコーを実行してください

class User_IndexController extends Zend_Controller_Action{
    public function loginAction(){
        echo "bla";
    }
}
于 2012-05-21T14:59:57.927 に答える