2011-02-10 43 views
3

我正處於重新構建我公司的應用程序的早期階段。該應用程序當前正在symfony 1.2上運行,並且當時使用了默認的ORM Propel如何比較symfony中的原則和推進

Symfony已經更新至1.4並將默認ORM切換爲Doctrine

從我的理解,每個ORM都擅長於特定類型的數據庫結構。這是真的還是遠比另一個好?

有沒有什麼好的方法來測試在我的情況下,在使用我的模式的測試環境中哪個ORM最好(即設置雙重相同的站點和運行測試)?

+0

我處於類似的情況;自1.0開始,我的商店已經完成了一些symfony項目,我們一直在使用Propel。對於Doctrine的發展趨勢,我使用它來開始我們最新的1.4項目。我還沒有用模型做很多工作。我曾有過的一個挫折是在Propel中重載了一些現有的方法,如`setFirstName()` - 在Doctrine中,這些都是神奇的方法,並且不能調用「parent :: setFirstName('Jimbob')」在那裏,而不是`$ this - > _ set('first_name','Jimbob')`或者其他的。我發現Propel技術更直觀。 – yitznewton 2011-02-22 14:44:54

+1

參見http://stackoverflow.com/questions/3969517/good-comparison-doctrine-vs-propel – yitznewton 2011-02-22 14:47:01

回答

1

這是一個比2008年更新一些的比較:Doctrine vs Propel: 2009 update。還有一個(稍微Propel聚焦)基準練習here

實際上,圍繞框架的社區與技術差異一樣重要。我正在使用Doctrine,因爲我已經能夠找到更多相關的支持信息和示例。 traffic to the Symfony website表明該學說正在成爲最受歡迎的選擇,所以我期望Symfony/Doctrine社區繼續發展。

0

Symfony 1.4默認ORM目前是Doctrine 1.2。 我不就是還有的行走和學說1.2之間的性能差異,但你也可以使用學說2.0這個版本的Symfony的:做here

主義2主義完全重寫,似乎是更快,支持ODM像MongoDB