我越是使用Symfony2并且与它的形式斗争越多,我得出的结论是它们是一个巨大的可怕的野兽,甚至不应该存在.
我在这里发现了这篇文章 ,我发现我同意作者.即使文章是Symfony的1.x的,我认为它仍然适用于在Symfony2中的表单组件.看起来表单组件似乎试图在一个地方解决属于模板,控制器和模型的问题.这不是严重违反MVC和/或SRP(单一责任原则)吗?
这可能是一个不同的问题,但我觉得它有点相关 - 我也注意到symfony的许多可用包试图解决视图外的视图问题,例如:
KnpMenuBundle - 您在服务器端使用oo接口生成菜单(为什么不在它们所属的视图层中?)
IvoryCKEditorBundle - 将textarea转换为ckeditor是在视图文件中的一个jquery行中完成的,那么为什么这个bundle存在呢?我甚至不想计算那里的行数.
因此,那种好像有在Symfony的核心遍地都是这些违规还是我只是没有得到它?
php model-view-controller design-patterns single-responsibility-principle symfony