将旧应用程序迁移到Symfony2

时间:2014-10-14 12:52:35

标签: php symfony doctrine-orm migration dao

我有一个自定义框架的应用程序,它在7年前使用旧技术和设计模式已经很老了。

我们正面临着问题。 我们使用DAO Layer来访问Data对象,并且由于业务需求变得如此复杂,DAO不再能够满足业务需求,我们正在考虑使用Symmfony2和Doctrine2。

但问题是: 应用程序真的很大。 超过7年的开发和添加功能。 大约11.500个文件和文件Avg 1500 Line。

我知道这不是一件容易的事,但我确信现在有一种方法可以迁移或至少使用Doctrine而不会损害遗留代码。

请咨询。 谢谢。

1 个答案:

答案 0 :(得分:1)

你的问题没有简单的答案。处理遗留代码总是很难。

如果可能,您应该在应用程序周围包装Symfony。在您的应用程序周围实现命令或外观模式,并使Symfony控制器调用这些类。

尝试使用存储库模式分隔DAO访问层。不是Doctrine存储库,而是特定于您的应用程序的自定义存储库。当您使用应用程序中的接口分隔存储库时,您可以逐个实施它们的学说。

值得考虑将您的应用程序与Symfony分离,以便将来不会遇到这类问题。

此外,如果可以的话,尽量编写尽可能多的测试,这将使您以后更容易重构。

我写了一篇博客文章,其中提供了一些如何与框架here分开的提示。相同的模式适用于存储库。