我必须将应用程序从 Zend Framework 1.12.0 迁移到版本 2。似乎还没有迁移指南。我已经研究过 ZF2 编码约定,并采用了依赖注入 (Zend\Di) 和 PHP 5.3 命名空间。我的目标是将我的 ZF1 应用程序重构为 ZF2 模块。
问题:是否可以在每一步之后逐步使用至少部分工作的应用程序并避免大量的重构步骤?如果是,步骤是什么?
这是我对这种逐步迁移的想法,但我不知道在每一步之后我是否最终得到了一个工作应用程序:
- 首先设置ZF2 骨架应用程序
- 设置一个新模块(MyApp),并将我的ZF1应用程序的内容重新组织到MyApp模块文件夹结构中。然后设置非常基本的配置和引导并通过从 ZF2 AbstractActionController 扩展 IndexController 来迁移它。模型 (Zend_Db) 和视图 (Zend_View) 将稍后迁移。这里的目标是拥有一个没有很多依赖项的有效 IndexController::indexAction。
- 设置更多配置和引导(路由、翻译、区域设置、缓存、Db、Acl、ViewHelpers...)。我想先设置这些组件的ZF1版本,以后再一个一个迁移。
- 使用 Zend\Di 或使用 ServiceManager迁移其他控制器并设置依赖注入到控制器中。
- 通过使旧的phing脚本与新的目录结构一起工作来设置自动部署。
- 将视图(包括助手)和表单迁移到 ZF2。
- 迁移模型(从 Zend_Db 到 ZF2 Zend\Db 或到 Doctrine)。
- 一个一个地迁移其他 ZF1 组件(Translate、Locale、Cache、Acl,...)。
- 重构康复和长假。
但是,只有当某些 ZF2 组件与 ZF1 组件一起工作时,我才会在每一步之后都有一个工作应用程序。我不知道是否可以将 ZF1 视图(和视图助手)与 ZF2 控制器一起使用。