zend instalar framework composer php zend-framework migration zend-framework2

php - instalar - zend framework module



MigraciĆ³n paso a paso desde Zend Framework 1 a 2 (4)

Tengo que migrar una aplicación de Zend Framework 1.12.0 a la versión 2. Parece que todavía no hay guías de migración . Ya estudié las convenciones de codificación de ZF2 y adopté los espacios de nombres de inyección de dependencia (Zend / Di) y PHP 5.3. Mi objetivo es refactorizar mi aplicación ZF1 en un módulo ZF2.

Pregunta: ¿Es posible proceder paso a paso con una aplicación que funciona al menos parcialmente después de cada paso y evitar grandes pasos de refactorización ? Si es así, ¿cuáles son los pasos?

Aquí está mi idea de una migración paso a paso, pero no sé si terminaré con una aplicación en funcionamiento después de cada paso:

  1. Comience configurando la aplicación ZF2 Skeleton
  2. Configure un nuevo módulo (MyApp) y reorganice los contenidos de mi aplicación ZF1 en la estructura de carpetas del módulo MyApp. Luego configure una configuración muy básica y arranque y migre el IndexController extendiéndolo desde ZF2 AbstractActionController. Los modelos (Zend_Db) y vistas (Zend_View) se migrarán más tarde. El objetivo aquí es tener un IndexController :: indexAction que funcione y que no tenga muchas dependencias.
  3. Configure más configuraciones y bootstrapping (Enrutamiento, Traducir, Configuración regional, Caché, Db, Acl, ViewHelpers, ...). Me gustaría configurar primero las versiones ZF1 de estos componentes y luego migrarlos uno por uno.
  4. Migre los otros controladores y configure la inyección de dependencia en los controladores con Zend / Di o utilizando ServiceManager .
  5. Configure la implementación automática haciendo que las antiguas phing comandos de phing funcionen con la nueva estructura de directorios.
  6. Migre las vistas (incluidos los ayudantes) y los formularios a ZF2.
  7. Migre los modelos (de Zend_Db a ZF2 Zend / Db oa Doctrine).
  8. Migre otros componentes de ZF1 uno por uno (Translate, Locale, Cache, Acl, ...).
  9. Refactorización de rehabilitación y vacaciones largas.

Sin embargo, tendré una aplicación workin después de cada paso solo si ciertos componentes ZF2 funcionan junto con los componentes ZF1. No tengo idea si es posible, por ejemplo, usar vistas ZF1 (y ver ayudantes) con los controladores ZF2.


De las preguntas frecuentes de Zend Framework 2 :

Tengo una aplicación creada con Zend Framework 1: ¿podré migrarla a la nueva versión?

Absolutamente. Una parte importante de Zend Framework 2 es la capa de migración que permitirá que el código ZF 1 se ejecute en el nuevo motor ZF 2, que estará disponible en el futuro. Con él, podrá agregar un nuevo código ZF 2 y refactorizar el código existente, a un ritmo controlado.

Sin embargo, en este punto, no he oído hablar de ninguna capa de migración real. Solo podemos esperar que haya, pero en este punto, tengo mis dudas.


En algún lugar se escribió una vez que será fácil con cierta capa intermedia, pero nunca vi ningún enlace ni nada en la biblioteca que se pareciera remotamente.

Ahora, lo único y la información más reciente que puede encontrar se encuentra en la página de información general de la documentación. Es esto:

Nota ZF2 no es compatible con versiones anteriores de ZF1, debido a las nuevas características de PHP 5.3+ implementadas por el marco y debido a reescrituras importantes de muchos componentes.

Nunca esperé que fuera retrocompatible, pero la declaración clave aquí creo que es la reescritura principal de muchos componentes.

Comencé un nuevo proyecto con ZF2 hace unos meses en el que solo quería la biblioteca; entonces no hay MVC que debería ser fácil, ¿verdad? Hasta ahora ha sido una pesadilla porque ya nada es lo mismo. Además de algunos nombres o estructuras familiares de clase, el marco completo ha sido completamente reescrito desde cero.

Cosas que amaba, usaba mucho y sabía de memoria que las formas, el caché o la sesión son completamente diferentes. Para mi proyecto, me ha costado mucho tiempo sin ningún beneficio. Uno de los objetos clave para ZF2, pensé, era la revisión de la documentación, que es a partir de esta forma escrita peor que la anterior.

Para mis otros proyectos ZF1.x existentes, no veo cómo administrar una actualización, excepto para reescribir completamente la aplicación.


Migración desde Zend Framework 1

Esta guía está destinada a proporcionar herramientas y estrategias para migrar de Zend Framework 1 a Zend Framework 2. No existe una única solución que funcione para cada proyecto, ni ninguna herramienta para automatizar el proceso.

En esta guía, cubriremos lo siguiente:

  1. Herramientas para el espacio de nombres de tu código.
  2. Herramientas para consumir Zend Framework 2 dentro de su aplicación Zend Framework 1.
  3. Estrategias para ejecutar Zend Framework 2 y Zend Framework 1 en paralelo.
  4. Estrategias para hacer que su código sea más fácil de migrar, centrándose principalmente en la separación limpia de la lógica de su dominio y la capa MVC.
  5. Estrategias para migrar la capa MVC.
  6. Estrategias para migrar tu capa de dominio.

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


Hemos estado migrando una gran aplicación de Zend Framework 1 a Zend Framework 2 durante el año pasado. Empezamos con cosas simples como el espacio de nombres, y poco a poco nos abrimos paso en los diversos componentes de la biblioteca. Finalmente, terminamos editando Zend_Layout para trabajar con Zend/Filter , Zend_Form para trabajar con Zend/Filter y Zend/Json , Zend_Navigation para trabajar con Zend/Permissions/Acl , etc. Esto nos ayudó a eliminar casi todos los componentes de ZF1 con la excepción de la estructura de la aplicación ZF1 que incluye cuatro clases Zend_Application , Zend_Config , Zend_Controller y Zend_Layout . La última pieza del rompecabezas es la implementación de Zend/Mvc/Application y Zend/View , el resto está preparado para ZF2.

Más recientemente, creamos un proxy de tipo para conectarlo a los módulos Zend/Mvc/Application y ZF2 de ZF1. Esto ha sido extremadamente útil. Detallé los pasos en http://webjawns.com/2013/11/migrating-to-zf2-integrating-composer-and-doctrineormmodule/ .

En resumen...

  • Convierta prefijos en espacios de nombres ( Model_ a Model/ , Application_Controller a Application/Controller , etc.)
  • Reemplace componentes que no sean MVC con contrapartes ZF2, incluido el autocargador
  • Cree la estructura de la aplicación ZF2 y los ganchos para comenzar a utilizar los módulos ZF2
  • Mueva los controladores y las vistas (sigue trabajando en un plan para este)