老实说,我不想尝试。这是一个严肃的问题,我想这几乎肯定会有一个具体,客观的答案。
Symfony 1.x和Rails一样,似乎遵循约定优于配置的原则。例如,当您创建模块然后在模块的控制器中创建操作时,您不必创建新的路由规则。 Symfony只知道该怎么做。但现在使用Symfony2,您必须明确创建路由。这只是一个例子。在其他情况下,似乎有意识地决定支持配置而不是约定。我完全不知道为什么。
所以我的问题是:为什么Symfony 1.x赞成约定优于配置但Symfony 2.x则相反?
很抱歉,如果这个问题出错了。我想这可能不是一个编程问题。如果有一个更合适的地方让我提出这个问题,请告诉我,我会很乐意搬到那里。
答案 0 :(得分:6)
Symfony2仍然偏爱惯例而不是配置,但它只是摆脱了很多“魔法”,偏向明确的“魔法”。原因是“魔术”在简单的情况下很有帮助,但从长远来看,它会引起很多混乱和麻烦。
不仅Symfony2做到了这一点,而且总体上是PHP社区。学说2就是这样做的。 Zend Framework 2是doing。