Php – Step by step migration from Zend Framework 1 to 2

migrationPHPzend-frameworkzend-framework2

I have to migrate an application from Zend Framework 1.12.0 to version 2. There seem to be no migration guides yet. I have already studied ZF2 coding conventions and I adopted dependency injection (Zend\Di) and PHP 5.3 namespaces. My goal is to refactor my ZF1 application into a ZF2 module.

Question: Is it possible to proceed step-by-step with an at least partly working application after every step and avoid huge refactoring steps? If yes, what are the steps?

Here's my idea of such a step-by-step migration, but I don't know if I end up with a working application after every step:

  1. Start by setting up the ZF2 Skeleton Application
  2. Set up a new module (MyApp) and reorganize the contents of my ZF1 application into the MyApp module folder structure. Then set up very basic configuration and bootstrapping and migrate the IndexController by extending it from the ZF2 AbstractActionController. The models (Zend_Db) and views (Zend_View) will be migrated later. The goal here is to have a working IndexController::indexAction which doesn't have many dependencies.
  3. Set up more configuration and bootstrapping (Routing, Translate, Locale, Cache, Db, Acl, ViewHelpers, …). I'd like to set up the ZF1 versions of these components first and migrate them later one by one.
  4. Migrate the other controllers and set up dependency injection into the controllers either with Zend\Di or by using the ServiceManager.
  5. Set up automatic deployment by making the old phing scripts work with the new directory structure.
  6. Migrate the views (including helpers) and forms to ZF2.
  7. Migrate the models (from Zend_Db either to ZF2 Zend\Db or to Doctrine).
  8. Migrate other ZF1 components one by one (Translate, Locale, Cache, Acl, …).
  9. Refactoring rehab and long holiday.

However, I will have a workin application after every step only if certain ZF2 components work together with ZF1 components. I have no idea if it's e.g. possible to use ZF1 views (and view helpers) with ZF2 controllers.

Best Answer

Migration from Zend Framework 1

This guide is intended to provide tools and strategies for migrating from Zend Framework 1 to Zend Framework 2. There is no single solution that will work for every project, nor any tools to automate the process.

In this guide, we will cover the following:

  1. Tools for namespacing your code.
  2. Tools for consuming Zend Framework 2 within your Zend Framework 1 application.
  3. Strategies for running Zend Framework 2 and Zend Framework 1 in parallel.
  4. Strategies for making your code easier to migrate, focussing primarily on clean separation of your domain logic and the MVC layer.
  5. Strategies for migrating the MVC layer.
  6. Strategies for migrating your domain layer.

http://framework.zend.com/manual/2.1/en/migration/overview.html

Related Topic