2010-08-07 52 views
2

我已經接管了最初使用RoR編寫的中型項目。這些權力已經決定他們想要網絡應用程序,「移植」到Symfony。將項目從RoR移至Symfony - 需要執行哪些步驟?

看了一些RoR代碼後,我懷疑RoR強烈地「影響」了Symfony,因爲很多成語都是共享的 - 所以我認爲應用程序從一個到另一個的「端口」應該是很可能(儘管不是因爲心臟不夠)。

沒有深入討論這個問題的智慧(或其他方面),有人可以提供一個TODO的項目清單,就將RoR應用程序移植到Symfony應用程序中所需的步驟而言。

+0

您是否熟悉PHP?還是你「隨着你的學習」? – ircmaxell 2010-08-07 15:26:34

+0

我不確定你在尋找答案?你能否舉一些例子,讓我們知道你在找什麼?我們不知道您的應用程序,我不確定是否有一些通用指南可以幫助您移植它。 – Gordon 2010-08-07 15:41:00

回答

3

我不能給你任何要點,更不用說從RoR到Symfony的移植指南,但我可以告訴你我將如何處理它。請記住,僅僅因爲兩個應用程序使用相同的設計模式,它們的實現可能會有所不同,所以儘管有任何共享的習慣用法,您仍然可能需要調整大量代碼。

假設RoR項目覆蓋了UnitTests,我首先將所有測試移植到PHPUnit。從功能測試開始。由於問題域不會隨着移植而改變,所以這些應該與RoR中的相同。如果不能立即實施,請將它們留空。主要觀點是描述應用程序最終應該做什麼。

將所有功能測試寫下來後,請查看使這些測試通過所涉及的組件。檢查Symfony是否提供了您在RoR中使用的等效實現。如果是這樣,請移植適用的UnitTests。然後實施這些組件。重複,直到所有功能測試通過。

如果Symfony沒有提供等價物,請提出替代方案。這樣做的時候,請記住,並非所有來自RoR的東西都必須是Symfony或PHP中的最佳選項,所以使用常識來尋找替代品,即使這意味着偏離RoR的方式。

另外請記住,Symfony可以與Zend Framework並行使用。儘管ZF不是在RoR之後建模的,但在Symfony沒有提供RoR的等價物的情況下,您可能會發現它是有用的。

在旁註中,雖然Symfony受RoR的啓發,但實際上試圖成爲PHP世界中的RoR的框架是CakePHP。既然你說你必須使用無關緊要的Symfony,但我想我會提到它。

+1

+1:這正是我需要的那種邏輯步驟 – morpheous 2010-08-07 16:34:16

相關問題