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


zend framework access custom properties of model in view

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

protected $_types;

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

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

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

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

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

谨致问候。

您必须从Model向Controller返回value(s)[值或对象数组],然后从Controller向view页面分配要使用的视图变量。

我希望这种方式能奏效。

因为您将变量$_type的作用域设置为protected,所以它只能在模型类、模型类的父级和子级内部引用。

当您在视图对象中引用模型时,模型对象的实例被注入到视图中,并且您不能直接引用受保护的属性。你需要在你的模型中完成神奇的方法__get,例如:

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

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