将Model类的Doctrine_Collection转换为简单对象数组的简单方法?

时间:2010-05-18 06:18:34

标签: php model-view-controller zend-framework orm doctrine

为了清楚地区分Controller和View图层,我不再希望将完整对象传递给我的视图。相反,我想只传递包含数据但没有任何方法的数组和对象。否则,视图脚本将能够删除Doctrine记录或在对象树中遍历不适合视图的数据。

2 个答案:

答案 0 :(得分:8)

我相信$collection->toArray()应该做你想做的事情

请参阅http://www.doctrine-project.org/documentation/manual/1_1/en/working-with-models:arrays-and-objects

答案 1 :(得分:1)

你做的事情完全没有意义。那是什么意思?您不会阻止自己/其他程序员在视图层中进行非法操作。也许你将无法$obj->delete();,但Doctrine_Query::create()->delete()->from('ObjectTable')->execute();仍然可用。

将对象传递给视图,只是不要对它们执行这样的方法 - 这就是你应该做的。