2012-05-21 47 views
0

如下所述,Zend模块之间是否有通信方式?Zend模块之间的通信

我想$ sVariable返回“bla”。但它给了我

Zend_Controller_Action_Helper_ActionStack Object. 

在一个模块调用:

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

而另一个模块中:

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

回答

0

一个选项是使用Zend_Regsitry。在在loginAction(),你可以这样做:

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

而且把它找回来,你可以做。

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

但它很混乱。所以我把我的控制器动作中的东西移到了帮手上。这解决了我的问题。

0

你在做什么不是一个很好的做法,但如果你仍然想使其工作做回声而不是返回

class User_IndexController extends Zend_Controller_Action{ 
    public function loginAction(){ 
     echo "bla"; 
    } 
} 
0

通常不是通过模块控制器进行通信的最佳实践。这个变量/逻辑可以移入模型吗?自动加载器使模块之间的模型非常简单。

+0

如果这应该是答案,它应该已经备份了一些代码示例或链接。如果这只是一个建议或评论,您可以使用评论链接。 –

+0

有没有评论链接为我(由于新鲜的声誉)。 :-) –