不能将变量从控制器传递到视图,Zend Framework 2



我有一个这样的控制器:

namespace ApplicationController;
use ZendMvcControllerAbstractActionController;
use ZendViewModelViewModel;
class IndexController extends AbstractActionController
{
    public function indexAction()
    {
        $this->view->myvar = "Hello";
    }
}

和index.phtml视图部分:

<html>
<head>
  <title></title>
</head>
<body
<h1><?php echo $this->myvar; ?></h1>
</body>
</html>

由于某种原因,我无法在视图中看到Hello word。。我得到的错误是:警告:在第19行的C:\examplep\htdocs\myZend\module\Application\src\Application\Controller\IndexController.php中,从空值创建默认对象

我可以看出,在控制器中分配变量是个问题,但我不知道为什么,这是将值分配给变量的正确方法吗。。。我是不是错过了什么??

ThNKS

zf2中设置变量并传递到视图的正确方法:

           return new ViewModel(array(
           'varName' => $value,
         ));

然后在您的视图中检索:

          echo $this->varName;
public function indexAction()
{
   $view = new ViewModel ();
   $view->myvar = "Hello";
   return $view;
}

最新更新