2012-03-30 52 views
7

我老實說並不想要巨魔。這是一個嚴肅的問題,我想幾乎肯定有一個具體的客觀答案。Symfony 1.x爲什麼贊成慣例而不是配置,但Symfony 2.x恰恰相反?

Symfony 1.x與Rails一樣,似乎遵循約定優於配置的原則。例如,當你創建一個模塊然後在模塊的控制器中創建動作時,你不必創建新的路由規則。 Symfony只知道該怎麼做。但是現在用Symfony2你必須明確地創建路線。這只是一個例子。還有其他一些似乎是有意識決定偏好配置而非慣例的情況。對於爲什麼,我感到非常困惑。

所以我的問題再一次是:爲什麼Symfony 1.x支持約定而不是配置,而Symfony 2.x卻相反?

對不起,如果這個問題是在錯誤的地方。我想這可能不是一個編程問題。如果有更適合我問這個問題的地方,讓我知道,我會很樂意搬到那裏。

+1

看來你把魔術混合到了配置上。 Symfony2在配置上具有幾乎相同的約定。他們只是跳過了很多魔術,所以人們知道發生了什麼。 – Sgoettschkes 2012-03-30 15:46:24

回答

6

Symfony2依然支持慣例而不是配置,但它只是擺脫了許多「魔術」,贊成明確的「神奇」。原因在於,「魔術」在簡單情況下是有幫助的,但長期來看,它造成了很多混亂和麻煩。

不僅Symfony2做到了這一點,而且整個PHP社區。學說2做到了。 Zend Framework 2是doing

+0

+1,我只補充一點,Symfony2的確實有利於慣例,但它不會強迫你跟着它,提供了充分的自由定製,允許像KnpRadBundle,這是在我眼裏真棒:) – Inoryy 2012-03-30 16:27:20

+0

好東西創造,我想這符合我的好奇心。我完全不同意他們做了什麼,但至少現在我明白他們爲什麼這麼做了。 – 2012-03-30 16:53:17

+0

@JasonSwett我同意你的意見。有人說這是出於性能問題,但如果你需要花費幾天的時間來編寫一個功能,那麼在你的架構中添加一臺服務器會花費你更少的錢。 – MaximeBernard 2013-05-16 10:20:09

相關問題