我越使用Symfony2并与它的形式斗争越多,我得出的结论是它们是一个甚至不应该存在的巨大可怕的野兽。Symfony2表单组件 - 违反了MVC和SRP?
我遇到了这篇文章here,我发现我同意作者。即使这篇文章是针对Symfony 1.x的,我认为它仍然适用于Symfony2中的Form组件。它看起来像表单组件试图解决属于模板,控制器和模型的问题,都集中在一个地方。这是否严重违反了MVC和/或SRP(单一责任原则)?
这可能是一个不同的问题,但我觉得它是一种相关 - 我也注意到很多关于symfony的尝试可用捆,以解决视图问题的观点外,例如:
KnpMenuBundle - 你在服务器端使用oo-interface生成菜单(为什么不在视图图层所在的位置?)
IvoryCKEditorBundle - 将textarea转换为ckeditor是在视图文件中的一个jquery行中完成的,那么为什么这个bundle存在?我甚至不想统计那里的线数。
所以它有点像Symfony的核心处处存在这些违规或我只是没有得到它?
这些是第三方工具。尽管Sf2中存在设计缺陷,但实际的框架核心中的SRP违规行为很少,只有在实用的解决方案时才适用。你看到的不是核心。 –
我的意思是说,它好像在Symfony的核心思想中存在某种东西,这会促使人们写出这些疯狂的包。但是,Form组件不是框架的核心组件吗? – moljac024
Zend Framework中有这样的组件,但它非常糟糕。我得出的结论是,创造任何形式的建筑师都是徒劳无益的事情。 –