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


10

我正在与一家网络公司合作,由于其V1的一些基础和原则已经超出了几乎所有从数据模型到应用程序的内建原则,因此它可能需要将产品重新视为V2。用户界面。由于各种原因,这种演变可能涉及从CakePHP(已构建V1)迁移到Symfony或Zend。

我想征询一些有关人们如何对流量巨大并产生收入的网站进行这样的过渡的经验观点。我不想就不同PHP框架的优缺点展开讨论,也不想为什么需要这种迁移。相反,我很想知道是否存在一些可行的替代方案,以便从头开始与V1一起从头构建V2几个月,并在这段紧张的时间内锁定宝贵的编码时间。这种替代方案的一个示例可能是在更长的时间内分批迁移应用程序。

对于可能已经管理或参与此类过渡的人们的任何意见,我将不胜感激。

提前致谢。

Answers:


2

如果这是属于您公司的商业应用程序,则最好完全不使用第三方框架。然后,当v3的时机到来时,您将不会再面临同样的问题。而且,您永远不会遇到必须不断调整代码以响应框架更新的情况。框架非常适合快速启动和运行,但是如果这是a)业务核心和b)长期维护的话,那么框架的价值就会降低。


1
谢谢-有用的观点,尽管框架使许多事情变得更轻松,以致难以接受不使用它们的想法。也可以对它们进行自定义,除非确实有必要(例如安全漏洞,对X的支持不足等),否则不必总是进行更新。接受这个答案,因为它实际上是关于“解决方案”的,而不是试图解决为什么可能需要框架切换的问题。
汤姆(Tom),2010年

1
这个答案根本不是解决方案。
詹姆斯,

6

首先要很好地学习新框架,并确保它可以满足您的需求,并且您确实掌握了新框架的范例。您将不得不抛出很多代码,这没关系。重要的是,您正在按原计划使用新框架,充分利用了它的功能,而没有被旧框架所束缚。不要尝试使用Zend“ CakePHP方式” *

例如,当我改用以前的非MVC框架中的MVC框架时,我并没有真正了解模型,视图和控制器的工作方式,并且编写了一些看起来很糟糕的代码,因为我不了解新的做事的方式。您最好坚持使用劣质的旧框架,而不是在更好的框架上编写性能差的应用程序。

*我都不熟悉,所以我不知道它们有多相似/可比。


+1代表Don't try to use Zend "the CakePHP way
蒂姆·波斯特

y'知道别人说“ +1”时,他们通常会通过投票回答给出+1;)
GSto

抱歉,互联网打ic。:)在此处通过运营商鸽进行TCP。
蒂姆·波斯特

感谢您提供有用的答案。我已经涉足Zend和CakePHP,尽管我同意您的评论,但原则上我不能在没有实际经验的情况下“接受”它。
汤姆(Tom),2010年

5

首先要考虑的是,从头开始重写产品是您永远都不应做的事情。这是尤其在当前版本已让你的钱真的。基本上,您将花费6个月的时间,只是要回到6个月前的状态。直到现在,您还有更多的错误(或至少是不同的错误),重新引入了已在旧代码中修复的错误,如果您之前曾去过,则要比现在落后六个月向旧的代码库添加功能。

CakePHP,Zend和Symphony在很大程度上是相同的(即它们都是PHP之上的MVC风格的框架),所以我不确定您将从一个方面转移到另一个方面有什么优势。功能集上肯定有差异,但是是否真的值得在所有时间内让自己退缩?在用Zend或从头开始从头重写的时间上,您是否可以花费相同的时间在Cake中添加所需的功能?

我认为,最好是随着时间的推移慢慢重构现有代码,而不是从头开始使用新框架。

当然,这只是我的意见。我知道删除现有的(丑陋的,旧的)代码并从头开始是很诱人的,但是对于已经运行的成熟产品,通常没有什么收获,而有很多损失。


正是我在想的。这里没有必要进行重写,因为似乎没有充分的理由证明这将是一个经济的决定。
EricBoersma 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.