2010-08-07 67 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