无法将一个变量从Controller传递给View,Zend Framework 2

时间:2013-08-19 13:48:16

标签: zend-framework2

我有一个像这样的控制器:

namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

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字..而且我得到的错误是: 警告:在第19行的C:\ xampp \ htdocs \ myZend \ module \ Application \ src \ Application \ Controller \ IndexController.php中从空值创建默认对象

我可以看到在控制器中配置变量的问题是问题,但我不知道为什么,这是将值赋值给变量的正确方法......我错过了其他的东西吗?

ThNKS

2 个答案:

答案 0 :(得分:5)

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

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

然后在您的视图中检索它:

          echo $this->varName;

答案 1 :(得分:5)

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