2011-07-06 31 views

回答

7

我目前正在將使用ZF編寫的應用程序移植到Django。根據我的經驗,這兩個框架之間的主要區別在於其內部組件之間的耦合。採埃孚將鬆散耦合的概念推向了極端,您必須找出將它們融合在一起的最佳途徑。另一方面,Django提供了一個開發Web應用程序的無縫過程,其中每個組件以定義的順序組合在一起。例如,當您在Django ORM中定義模型時,它爲框架的其他組件(如視圖,模板,表單等)提供了很多功能,很難想象在沒有模型的情況下使用它們。從某種意義上講,緊耦合是Djangos在減少Web開發繁瑣和更高效方面的優勢之一。但是這有時會使Django不夠靈活。

同樣在使用ZFs db abstraction layer(對於某些查詢會產生非常難以維護的代碼),您會發現Djangos ORM發送了天堂:)。儘管PHP(或ZF)存在一些ORM解決方案,但Djangos ORM更好。

另一個很大的區別是Djangos URL confs,這使得它非常容易和靈活地提供免費的,用戶友好的(SE友好的)URL。使用Django,URL是應用程序不可分割的一部分,而不是某些您所使用的http服務器配置。

比較的另一個非常重要的部分是文檔。 Djangos文檔編寫和維護得非常好。雖然ZF的文檔足夠好,但我發現很難搜索某些東西。

我認爲你已經採取了一個很好的決定試用Django。希望事實證明,這是您的正確解決方案。

+0

'儘管PHP(或ZF)存在一些ORM解決方案,但Djangos ORM更好。「也許你可以進一步解釋一下嗎? – mhitza

+0

如果您詢問PHP的ORM解決方案,可以與ZF集成的[Doctrine](http://www.doctrine-project.org)。 – vimukthi

+0

我使用Propel ORM,但我很好奇在哪些方法Django的ORM「方式更好」? – mhitza

相關問題