从一个PHP框架迁移到另一个PHP框架

时间:2010-11-10 00:04:23

标签: zend-framework cakephp symfony1 php

我正在与一家网络公司合作,这家公司正在接近可能需要重新认为该产品是V2的一个点 - 由于其数据已经过时,从数据中已经构建了几乎所有内容的一些V1基础和原则模型到用户界面。由于各种原因,这种演变可能涉及从CakePHP(已经构建V1)迁移到Symfony或Zend。

我想问一些经验丰富的观点,了解人们如何为拥有大量流量并创造收入的网站管理此类转换。我不想打开关于专业人士的讨论。不同PHP框架的概念,或者为什么可能需要这种迁移。相反,我会非常有兴趣了解是否有一些实际的替代方案可以在几个月内从零开始构建一个V2,并在这个激烈的时期锁定宝贵的编码时间。这种替代方案的一个示例可能是在较长时间内部分地迁移应用程序。

我很感激那些可能已经管理过或参与过这种转变的人的观点。

提前致谢。

2 个答案:

答案 0 :(得分:3)

如果您要迁移到Zend,您可以逐个使用Zend Classes来帮助您完成基本任务。你可以很好地使用ZF的任何模型类。因此,只考虑需要“大爆炸”动作才能成为控制器/视图。实际上,您还可以将现有视图与ZF集成。但我认为这是一种矫枉过正,而且不会持续很长时间......

所以 - 结束了

  • 切换到zend类,用于基本任务,如RSS生成,电子邮件,验证等。这将有助于您进行下一步。
  • 进行大爆炸操作并将(m)VC切换为ZF,离开模型
  • 将模型切换为更多Zend-ish

答案 1 :(得分:3)

Symfony几乎可以轻松地在流程的每个层面上突破框架,从而可以轻松地与其他框架集成。以下是我将如何做到这一点:

  1. 设置并安装Symfony。
  2. 将现有的CakePHP项目作为插件放在Symfony中。
  3. 将插件设置为具有catch-all路径,该路由获取参数并将其作为Cake PHP请求进行处理。现在,你所有的CakePHP页面都在Symfony中运行。这可能是最棘手的一步,可能涉及解决一些自动加载或其他冲突问题。
  4. 您现在可以有选择地迁移CakePHP模型,控制器和视图。
  5. 这种方法的一个主要好处是它可以让您维护敏捷的开发过程。您可以一直浏览网站的一些内容并随时测试它们。