Php 从Zend Framework 1迁移到Zend Framework 2

Php 从Zend Framework 1迁移到Zend Framework 2,php,zend-framework,zend-framework2,Php,Zend Framework,Zend Framework2,我们有一个相当大的应用程序,它有大约8个使用Zend framework 1编写的模块(大模块),它已经由几个开发人员开发了3年多。而且它每天都有很高的流量。我们还使用Amozon s3、Sphinx、Memcache和其他一些第三方服务 将其迁移到Zend framework 2是一个好主意吗?因为当我们简要地阅读文档时,Zend framework 2似乎已经完全重写了。因此,我们认为我们将无法轻松地迁移应用程序,而不是根据ZF 2重新编写应用程序 非常感谢有价值的想法。由于ZF2与ZF1非

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

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


非常感谢有价值的想法。

由于ZF2与ZF1非常不同,因此没有快速简便的迁移方法


相关报道:

你是对的,ZF2是一种完全不同的动物。事实上,这是如此不同,以至于没有一个一刀切的迁移计划/策略

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

在我们的例子中,它变成了该产品的一个主要发布点,最终包括了一系列UI更改以及所有管道

假设您喜欢ZF1,好消息是ZF2是更好的框架(作为一个框架)。ModuleManager、EventManager、Di和ServiceManager组件(以及与MVC相关的一般组件)非常棒,只要您仔细研究一下。坏消息是他们完全背离了ZF1。因此,您至少要注册以彻底检查您的分派和路由,您将告别Zend_Registry(ServiceManager/ServiceLocator是一个巨大的改进)

另一个好消息是,几乎可以肯定,只要您需要,就可以保留所有旧的ZF1类型组件。因此,如果您依赖Zend_缓存、Zend_日志、Zend_邮件等,稍微调整一下autoloader配置应该可以实现这一点

我的建议是,如果你真的要冒险,先考虑迁移到ZF2-AS-A框架,然后再担心ZF2-AS-A组件库。

如果您坚持使用胖模型/瘦控制器范例,那么以相当直接的方式更换控制器、前端控制器、Zend_应用程序可能是可行的。一旦投入生产,您就可以在时间允许的情况下删除对ZF1组件的依赖关系。在我的例子中,这并不多,因为事情经过了很好的分解和包装(例如,从Zend_缓存移动到Zend\Cache是很简单的)

最后,您应该提前知道视图层的内容(主要是与助手相关的内容)也是不同的。如果到处都有一堆复杂的视图相关内容(部分、自定义视图帮助程序等),那么您需要预期重写它们,或者找到一种方法在ZF2中使用旧的Zend_视图内容,以便可以零碎地迁移。我并没有真正处理这个问题,因为我们的界面相当简单,我们把它作为一个机会来检修UI


只是我的$0.02,但我希望它能有所帮助。

是否有迁移的特殊需要?这是一个长期应用程序。因此,我们必须确保任何东西都不会遭到反对。为什么有人投票结束这个问题?我想我问的不是重复的问题。我们的需求有点特殊嗨,我经历的情况和你两年前完全一样。你能告诉我你是否找到了解决办法吗?谢谢。谢谢,这很有帮助