我看到几种方法可以给Zend\View\Model\ViewModel::setVariables
一个数组:
DoctrineModule\Stdlib\Hydrator\DoctrineObject
和$hydrator->extract($entity);
问题是,如何为Doctrine2实体实现迭代器,这是一个好主意还是有人知道更好的方法?
答案 0 :(得分:-2)
通常,迭代实体是个坏主意。
如果要将实体传递给视图模板,可以执行以下操作:
<?php
// IndexController.php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class IndexController extends AbstractActionController {
// The "index" action
public function indexAction() {
// Create your entity here
$entity = ...
// Pass it to view template for rendering
return new ViewModel(array(
'entity' => $entity
));
}
}
然后,在您的视图模板中,您将能够以下列方式访问该实体:
<?php echo $this->entity->getId(); ?>