Zend framework2 zf2-varibales未通过控制器查看

Zend framework2 zf2-varibales未通过控制器查看,zend-framework2,Zend Framework2,几个小时以来我一直在绞尽脑汁寻找这个简单代码不起作用的原因。我只想把变量从我的控制器传递到.phtml文件,这样我就可以按我想要的方式呈现它们,但它只是不显示值(或者不传递变量/值) MyController类: public function indexAction(){ $this->viewAction(); } public function viewAction() { $view = new ViewModel(array('var1'=>'abc')

几个小时以来我一直在绞尽脑汁寻找这个简单代码不起作用的原因。我只想把变量从我的控制器传递到.phtml文件,这样我就可以按我想要的方式呈现它们,但它只是不显示值(或者不传递变量/值)

MyController类:

public function indexAction(){
    $this->viewAction();
}

public function viewAction() {

    $view = new ViewModel(array('var1'=>'abc'));
    $view->setVariable('var1','abc');
    $view->var1 = 'abc';

    return $view;
}
在index.phtml中,我什么也得不到

echo "this is var1:$this->var1<br>"; //nothing
echo "this is var1:$var1<br>"; //nothing
echo“这是var1:$this->var1
”//没有什么 echo“这是var1:$var1
”//没有什么
它打印

这是我的var1:

这是我的var1:

var\u dump
返回
null
我知道它非常简单,但是


不知道我在这里犯了什么错误。请帮助

我通常返回一个包含键/值的数组

return array('var1'=>'abc');

然后我在视图中使用变量$var1。

假设您发布的代码和文件名是正确的,那么这就是您的问题

您分配了一个
viewAction()
,因此要呈现的动作模板是
/modulename/controllername/view.phtml
。正如您所看到的,它是
view.phtml
,但您已经发布了
index.phtml
。这行不通:)

更新


您的
indexAction()
不会返回任何内容,因此默认情况下将使用空的
ViewModel
。给定代码,您应该执行
返回$this->viewAction()
,但我认为这种代码分离是一种非常糟糕的做法。

请显示您的完整代码。您所描述的几乎是不可能的^^或多或少意味着这不是您得到的正确的ViewModel。@sam我碰巧更新了布局文件的codeIs“index.phtml”?我真的很抱歉没有首先提供更新的代码。我实际上是从indexAction()调用viewAction;更新代码。对不起,不完整information@NoobASThreeDeveloper您没有从
索引()返回任何内容这将导致根据默认值使用空的
ViewModel
。您需要执行
return$this->viewAction()
,但这样分离代码是一种非常糟糕的习惯;)