gpt4 book ai didi

php - 从 Zend Framework 1 迁移到 Zend Framework 2

转载 作者:可可西里 更新时间:2023-11-01 00:14:58 25 4
gpt4 key购买 nike

我们有一个相当大的应用程序,它有大约 8 个模块(大模块)使用 Zend 框架 1 编写,并且已经由几个开发人员开发了 3 年多。此外,它每天都有很高的流量。我们还使用 Amozon s3、Sphinx、Memcache 和一些其他第三方服务。

将它迁移到 Zend framework 2 是个好主意吗?因为当我们简要浏览文档时,Zend framework 2 似乎已完全重写。因此,我们认为我们将无法轻松迁移应用程序,而不是根据 ZF 2 重写应用程序。

将不胜感激宝贵的想法。

最佳答案

你说得对,ZF2 是完全不同的动物。事实上,差异如此之大,以至于没有放之四海而皆准的迁移计划/策略。

不过,我最近做了一个类似的迁移。这是一个相当复杂的业务线应用程序,最初用了大约 18 个月的时间编写,具有多种不同的功能。该决定的主要驱动因素是模块和事件系统的改进。

在我们的案例中,它变成了产品的主要版本,最终包括一系列 UI 更改以及所有管道。

假设您喜欢 ZF1,好消息是 ZF2 是更好的框架(作为一个框架)。 ModuleManager、EventManager、Di 和 ServiceManager 组件(以及一般的 MVC 相关的东西)真的很棒,一旦你理解了它们。坏消息是它们完全背离了 ZF1。所以您至少要注册彻底检查您的调度和路由,您将告别 Zend_Registry(ServiceManager/ServiceLocator 是一个巨大的改进)。

另一个好消息是,您几乎可以肯定地保留所有旧的 ZF1 型组件,只要您需要它们。因此,如果您依赖 Zend_Cache、Zend_Log、Zend_Mail 等,稍微调整一下自动加载器配置应该可以做到这一点。

我的建议是,如果您真的要冒险,请考虑先迁移到 ZF2-as-a-framework,然后再担心 ZF2-as-a-component-library。

如果您坚持使用胖模型/瘦 Controller 范例,那么以一种相当直接的方式替换 Controller 、前端 Controller 、Zend_Application 东西可能是可行的。一旦将其投入生产,您就可以在时间允许的情况下消除对 ZF1 组件的依赖。在我的例子中,没有太多这样的东西,因为事情被很好地分解和包装(所以,例如,从 Zend_Cache 移动到 Zend\Cache 是微不足道的)

最后,您应该预先知道 View 层的东西(主要是与助手相关的东西)也是不同的。如果你到处都有一堆复杂的 View 相关的东西(部分、自定义 View 助手等),你需要预见到要么重写它们,要么找到一种方法来使用 ZF2 中的旧 Zend_View 东西,这样你就可以迁移零碎的。我并没有真正处理这个问题,因为我们的界面相当简单,我们以此为契机彻底改造了 UI。

只有我的 0.02 美元,但我希望它能有所帮助。

关于php - 从 Zend Framework 1 迁移到 Zend Framework 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15450178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com