Php 为什么MVC在将对象传递给视图时会将其转换为数组?

Php 为什么MVC在将对象传递给视图时会将其转换为数组?,php,model-view-controller,view,Php,Model View Controller,View,为什么MVC在将对象传递给视图时会将其转换为数组 只是想知道这是否有原因。如果说数组是指集合,那么原因是无法保证您只想向视图传递一个对象 当然,您可以使用一个上下文对象将所有数据传递给视图,但框架更愿意提供一种不需要您聚合数据的机制,特别是因为数据可能具有截然不同的形状。如果说数组,您指的是集合,那么原因是因为不能保证您只想将一个对象传递给视图 当然,您可以使用一个上下文对象将所有数据传递给视图,但框架更愿意提供一种不需要您聚合数据的机制,特别是因为数据可能具有截然不同的形状。可能是因为您不应该

为什么MVC在将对象传递给视图时会将其转换为数组


只是想知道这是否有原因。

如果说数组是指集合,那么原因是无法保证您只想向视图传递一个对象


当然,您可以使用一个上下文对象将所有数据传递给视图,但框架更愿意提供一种不需要您聚合数据的机制,特别是因为数据可能具有截然不同的形状。

如果说数组,您指的是集合,那么原因是因为不能保证您只想将一个对象传递给视图


当然,您可以使用一个上下文对象将所有数据传递给视图,但框架更愿意提供一种不需要您聚合数据的机制,特别是因为数据可能具有截然不同的形状。

可能是因为您不应该在视图中更改对象。我想这与代码纯度和帮助用户遵循MVC模式有关。

可能是因为您不应该从视图中更改对象。我想这只是与代码纯度和帮助用户遵循MVC模式有关。

对于所有不同的“MVC”,我不确定你能否说“他们”“倾向于”做任何事情,请具体说明。实际上,在真正的MVC模式中,视图与模型进行通信。只是在Web PMVC框架中存在部分数据推送现象。@mario,这种区别是含糊其辞的。MVC是POEAA中的一种web模式。它最重要的方面是将模型与UI分离,这对于任何环境都是一样的,无论是Smalltalk还是PHP。“其他的都是实现细节。@Gordon。不理解变体的换位是导致不可感知代码的一个原因。如果人们实现浅层模型(=只是数据库API)和哑视图(=静态页面输出,而不是运行小部件),那么所谓的“控制器”就必须是胖的。MVP和MVVM是更好的指南(并且有理由取代MVC)。@mario这与MVC、MVP或XYZVC无关。只是人们没有从根本上区分什么是属于模型的,什么是属于V和C。如果人们理解V和C是表示层,M是其他的一切,他们应该将它们分开,那么只要保持这种区别,他们如何沟通就无关紧要了。所有不同的“MVC”我不确定你能不能说“他们”倾向于“要做任何事情,请详细说明。实际上,在真正的MVC模式中,视图与模型进行通信。只是在Web PMVC框架中存在部分数据推送现象。@mario,这种区别是含糊其辞的。MVC是POEAA中的一种web模式。它最重要的方面是将模型与UI分离,这对于任何环境都是一样的,无论是Smalltalk还是PHP。“其他的都是实现细节。@Gordon。不理解变体的换位是导致不可感知代码的一个原因。如果人们实现浅层模型(=只是数据库API)和哑视图(=静态页面输出,而不是运行小部件),那么所谓的“控制器”就必须是胖的。MVP和MVVM是更好的指南(并且有理由取代MVC)。@mario这与MVC、MVP或XYZVC无关。只是人们没有从根本上区分什么是属于模型的,什么是属于V和C。如果人们理解V和C是表示层,M是其他一切,他们应该将它们分开,那么,只要保持这种区别,他们如何沟通就无关紧要了。