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