2013-06-22 124 views
4

經過8年的PHP開發,我轉向Python 2年前,就像我喜歡用Django編碼一樣,PHP中的作業比新西蘭的Python更多(更不用提.NET ),我已經開始閱讀Symfony 2了。通過「The Big Picture」教程,Django看起來很熟悉。Django開發人員的Symfony 2指南

問題:Django開發人員是否有遷移指南?所以它可以加快學習過程?

在Google中搜索「Symfony for Django」會返回不相關的結果。

回答

5

我不認爲有一個框架似乎Django在PHP中。由於語言功能幾乎不可能。我尊重每個人的意見,但我不想判斷,但我是一名Django開發人員,我嘗試了Symfony2,但並不喜歡它。特別是因爲有很多格式的配置文件,而且在我看來,這是一個構建C++應用程序的框架。

我試過Laravel,很滿意。當然你也可以用PHP來開心。它使用了很多PHP 5的最新功能,配置文件只是.php文件(就像Django的文件是.py),並且有一個非常明確的語法。

這個文檔很好,沒有Django的那麼好(我當時沒想到Symfony2的文檔也很棒),更不用說框架是1.5 MB,相比之下,Symfony是70MB +與供應商)。

要回答你的問題,沒有遷移指南(因爲恕我直言,不可能做一個簡單的遷移)。作爲一名Django開發人員,您必須熟悉MV *模式,Symfony2使用相同的方法,MVP模式,這意味着您不難獲得它。基本上和Django一樣(真的很遠:)),你有一個模型,一個控制器和視圖。你在控制器中做你的業務邏輯(DefaultController.php是每個包的默認值),你爲每個視圖編寫一個方法(通常),它必須返回一個渲染模板。

你在yaml, xml or php with annotations中聲明你的模型,並與你的數據庫同步。這會爲您創建模型對象,以便您可以在控制器中查詢它們。正如你所看到的,概念上是一樣的方法。

希望這會有所幫助!我會收到很多來自Symfony2人的討厭,但僅僅是我的看法。

祝你好運:)

+2

+1提[Laravel(http://laravel.com)框架;) –

+1

業務邏輯應該去模式,而不是控制器。模型不僅是數據訪問層。 Laravel使用Symfony btw(以自己奇怪的方式 - 所有這些靜態...)。 –

+1

我明白了爲什麼你不喜歡它,我通讀了開始指南,並且已經在文件名引用中丟失了。從django dev的角度來看,我必須在symfony中寫更多的東西,而且你從ppl中得到的仇恨可能在之前沒有用過django。 –

3

不,沒有。

你將不得不使用the official docs(這是真棒順便說一句)。