我认为Symfony2缺少 ViewModel (如ASP.NET MVC Framework)的概念,即与视图关联的模型。 Symfony2(作为文档)通常将数组分配给视图。
视图模型可以是PHP类,但它与表单模型不同,有时它与域实体相同。在处理要显示的大量信息时,它有时很有用。
无论如何,是否有任何关于视图模型应该在Symfony2中使用的约定?任何特定文件夹?到现在为止:
Symfony2/src/MyCompany/MyBundle/Form/Model
包含与表单关联的模型。和
Symfony2/src/MyCompany/MyBundle/Entity
用于域实体(绑定到数据库表)。
非常感谢您的建议。那么Symfony2/src/MyCompany/MyBundle/Model
呢?
答案 0 :(得分:0)
只要您的命名空间反映其位置,您放置ViewModel
的位置并不重要。
我会将其放在src/MyCompany/MyBundle/View/Model
中,然后您的命名空间将为MyCompany\MyBundle\View\Model
。
答案 1 :(得分:0)
在Symfony2中,没有像ViewModel这样的概念。您直接传递给模板实体或模型。不过,您可以构建自己的ViewModel。
实体不是模型。如您所说,它们是学说管理对象或域实体。如果您想拥有商业模式,请将它们放在MyBundle / Model中,就像许多其他包一样(例如,FOSUserBundle)。