zend框架访问视图中模型的自定义属性

时间:2013-12-06 12:24:46

标签: php zend-framework

我在我的模型中定义了一个数组的自定义属性:

protected $_types;

返回查看模型为数组的对象集合,其中包含数组$ _types。

我的问题是如何在视图中访问此属性?

在视图中,我创建了一个foreach来显示每个对象:

<?php foreach ($this->results as $item)

那么如何访问这个数组的每个位置?

问候。

2 个答案:

答案 0 :(得分:0)

您必须将值(值数组或对象数组)从模型中返回到Controller,然后从Controller中返回,您必须将其分配给要在View页面上使用的视图变量。

我希望这种方式有效。

答案 1 :(得分:0)

因为您将变量$ _type的范围设置为protected,所以它只能在模型类,父类和模型类的子元素中引用。

当您在视图对象中引用模型时,模型对象的实例将注入视图,并且您无法直接引用受保护的属性。你需要在模型中填充魔术方法__get,例如:

public function __get($name){
    if (is_string($name && 'result' == $name)){
       return $this->_type;
    }
}

我认为您需要阅读Zend Framework的文档,以明确如何在View对象或View Model对象中注入模型。