我应该将对象或普通数据传递给视图吗?

时间:2011-10-25 17:40:20

标签: php model-view-controller oop

我正在建立一个类似于Facebook的时间表...有不同类型的帖子,每种都涉及各种各样的数据,但仍然高度模板化。

我想知道是否最好将大型多维数组传递到每个子视图(时间轴上的每个项目),或者如果最好简单地传递对象(例如“用户”对象),那么sub view可以使用对象的功能吗?

是否比其他人更灵活,有人知道Facebook如何处理这个问题吗?

2 个答案:

答案 0 :(得分:3)

在我看来阵列是个坏主意。许多框架将对象传递给视图,但也有一些框架放入视图数组(例如cakePHP)。

我和蛋糕一起工作,在视图中处理“阵列”数据是噩梦

$data['blah']['bleh']['bluh']['puh']['some_other_long_array_key_for_difference']['and']['so']['on']['fuuuuuu']

使用对象,它们是为了简化我们的生活;]

答案 1 :(得分:1)

我不能告诉你facebook如何处理这个,但通常对象通常更灵活。

您可以使用__toString function来回显它们。如果所有传递到视图中的对象都被自动修饰,则可以非常灵活。

如果使用ArrayAccess interface,它们的行为就像数组一样。

通常:对象比静态的数组更具动态性,因此对象更灵活。