什么Zend View Partial setObjectKey做什么?

时间:2010-07-22 14:09:15

标签: zend-framework

我正在阅读关于zend view partials的zend框架文档

  

如果您的模型是对象,您可以   想把它作为一个对象传递给   部分脚本,而不是   将其序列化为一个数组   变量。您可以通过设置来完成此操作   'objectKey'属性   适当的帮手:

// Tell partial to pass objects as 'model' variable
$view->partial()->setObjectKey('model');

但这是做什么的。我何时使用它以及如何使用它。

2 个答案:

答案 0 :(得分:4)

我对此并不是100%肯定,但从我所看到的来源和文档来看,渲染部分的标准行为是以关联数组的形式将值传递给它。这允许使用数组键将值绑定到变量。

echo $this->partial('partial.phtml', array ('person' => 'joe');

// in my partial..
<h1><?php echo $this->person; ?></h1>  //<h1>Joe</h1>

如果你传递一个对象作为第三个参数(即partial('partial.phtml', $myobject);),Zend_View_Partial将自动序列化一个关联数组中的该对象,或者通过toArray()的自定义实现,或者只是抓取它公共财产通过get_object_vars()

但是,如果要将整个对象作为对象传递,则需要设置变换为变量的数组键以供部分引用。

$this->partial()->setObjectKey('myobject');
echo $this->partial('partial.phtml', $myobject);

这种方法比partial('partial.phtml', array( 'myobject' => $myobject)有什么好处,我不确定。或者我可能会错误地解释文档。

答案 1 :(得分:0)

如数组中的键(key =&gt; value)?