Model view controller ORM指定要查看的数据

Model view controller ORM指定要查看的数据,model-view-controller,orm,doctrine,Model View Controller,Orm,Doctrine,使用Doctrine作为我们的ORM开发MVC应用程序。目前,我们正在考虑改进在应用程序中使用对象关系的方式,出现了一个问题: 我们应该直接将一个条令实体分配给视图还是仅仅分配一个数据数组 每一种都有自己的优点和缺点。例如,设置实体使我们的前端开发人员能够查询我们的数据库,这不应该在视图中进行,而且可能会被不明智地使用。 另一方面,分配一个数据数组意味着我们必须首先查询他们可能需要的所有内容,并作为数组获取。阵列访问也不提供自动完成功能 你认为哪一个是我们前进的最佳选择,潜在的并发症最少 谢谢您

使用Doctrine作为我们的ORM开发MVC应用程序。目前,我们正在考虑改进在应用程序中使用对象关系的方式,出现了一个问题:

我们应该直接将一个条令实体分配给视图还是仅仅分配一个数据数组

每一种都有自己的优点和缺点。例如,设置实体使我们的前端开发人员能够查询我们的数据库,这不应该在视图中进行,而且可能会被不明智地使用。 另一方面,分配一个数据数组意味着我们必须首先查询他们可能需要的所有内容,并作为数组获取。阵列访问也不提供自动完成功能

你认为哪一个是我们前进的最佳选择,潜在的并发症最少


谢谢您的时间。

我认为答案主要是关于您的应用程序需要运行的效率/速度。如果“前端开发人员”指的是HTML/CSS开发人员,那么他们可能不理解在后台可以创建哪些类型的查询循环错误的内容(例如
$object->getRelatedObject()
)。使用返回数组数据的单个紧密查询可以执行的某些操作最终可能会生成10-15个查询,这些查询会使整个对象变得复杂,并显著降低应用程序的速度

如果我必须概括一下,我会说,如果你正在构建一个小型应用程序,而扩展不是一个主要问题,这其实并不重要,因为你不会注意到速度的影响,你的开发人员有更多的回旋余地来做讨厌的事情。否则,我会选择数组数据


希望这能有所帮助。

是的,我说的“前端开发人员”是指HTML(带有少量PHP)人员。我们主要担心的是他们可能会做一些疯狂的事情,比如循环查询,或者从视图中保存数据等等;性能是我们首先进行重构的原因。我认为在我们着手做任何事情之前收集意见会很好。谢谢。只是为了跟进;我们继续为视图分配完整实体,以便在前端实现更大的控制灵活性。我们计划避免任何愚蠢的迭代,并通过代码审查进行保存