Мне нужно перенести приложение из Zend Framework 1.12.0 в версию 2. Кажется, никаких руководств по миграции. Я уже изучил соглашения о кодировании ZF2, и я применил пространства имён зависимостей (Zend\Di) и PHP 5.3. Моя цель - реорганизовать мое приложение ZF1 в модуль ZF2.
Вопрос. Можно ли поэтапно продолжить работу с хотя бы частично работающим приложением после каждого шага и избежать огромных шагов рефакторинга? Если да, каковы шаги?
Вот моя идея такой пошаговой миграции, но я не знаю, закончится ли я с рабочим приложением после каждого шага:
- Начните с настройки скелета ZF2
- Настроить новый модуль (MyApp) и реорганизовать содержимое моего приложения ZF1 в структуру папок модуля MyApp. Затем настройте очень базовую конфигурацию и загрузку и перенесите IndexController, расширив его из ZF2 AbstractActionController. Модели (Zend_Db) и представления (Zend_View) будут перенесены позже. Цель здесь состоит в том, чтобы иметь рабочий IndexController:: indexAction, который не имеет многих зависимостей.
- Настройте дополнительную конфигурацию и загрузку (Routing, Translate, Locale, Cache, Db, Acl, ViewHelpers,...). Сначала я хотел бы настроить версии этих компонентов ZF1 и перенести их позже один за другим.
- Перенесите другие контроллеры и настройте вложение зависимостей в контроллеры либо с помощью Zend\Di, либо через с помощью ServiceManager.
- Настройте автоматическое развертывание, создав старые сценарии phing с новой структурой каталогов.
- Перенесите представления (включая помощников) и формы в ZF2.
- Перенесите модели (из Zend_Db либо в ZF2 Zend\Db, либо в Doctrine).
- Перенесите другие компоненты ZF1 по одному (Translate, Locale, Cache, Acl,...).
- Рефакторинг реабилитации и длительный отпуск.
Тем не менее, у меня будет рабочее приложение после каждого шага только в том случае, если некоторые компоненты ZF2 работают вместе с компонентами ZF1. Я понятия не имею, если это, например, можно использовать представления ZF1 (и просмотреть помощники) с контроллерами ZF2.