我必须将应用程序从Zend Framework 1.12.0迁移到版本2.似乎有no migration guides yet。我已经研究过ZF2编码约定,并且我采用了依赖注入(Zend \ Di)和PHP 5.3命名空间。我的目标是将我的ZF1应用程序重构为ZF2模块。从Zend Framework 1逐步迁移到2
问题:是否有可能进行一步一步与至少部分运行的应用程序的每一步后避免巨大的重构步骤?如果是,那么步骤是什么?
这里是我这样的一步一步迁移的想法,但如果我最终每个步骤之后,运行的应用程序,我不知道:
- 开始通过设置ZF2 Skeleton Application
- Set up a new module(MyApp)并将我的ZF1应用程序的内容重新组织到MyApp模块文件夹结构中。然后设置非常基本的配置和引导,并通过从ZF2 AbstractActionController扩展它来迁移IndexController。模型(Zend_Db)和视图(Zend_View)将在稍后进行迁移。这里的目标是有一个工作的IndexController :: indexAction,它没有很多的依赖关系。
- 设置更多配置和引导(路由,翻译,语言环境,缓存,Db,Acl,ViewHelpers等)。我想先设置这些组件的ZF1版本,然后逐一迁移它们。
- 迁移其他控制器,并使用Zend \ Di或using the ServiceManager设置依赖注入到控制器。
- 通过使旧的phing脚本与新的目录结构一起工作来设置自动部署。
- 将视图(包括助手)和表单迁移到ZF2。
- 迁移模型(从Zend_Db到ZF2 Zend \ Db或到Doctrine)。
- 逐个迁移其他ZF1组件(Translate,Locale,Cache,Acl,...)。
- 重构康复和长假。
但是,只有当某些ZF2组件与ZF1组件一起工作时,每一步之后我都会有一个workin应用程序。我不知道它是否是例如使用ZF2控制器可以使用ZF1视图(和视图助手)。
您实际上可以将ZF1和ZF2并排工作,因此可以使用更小的步骤。最大的问题是重新组织你自己的项目。我认为一个ZF1 App USUALLY不止是一个模块。你几乎对你有一个很好的理解,你的出发点是好的。迁移是一件棘手的事情,通常最终会重构几乎所有的东西:P – Sam
将ZF2视为您想要迁移到的全新新框架。我敢打赌,你需要重写整个你的应用程序... – shadyyx
不要以为你会找到一个移民指南。我认为你将不得不重写你的ZF2应用程序 – Andreas