php zend-framework doctrine doctrine2 zend-framework2

php - Zend Framework 2+Doctrine 2



zend-framework doctrine2 (2)

la última vez que se verificó: ZF2.2. *, DoctrineORMModule 0.7.

Módulo oficial

Es posible que desee cargar DoctrineORMModule través del compositor:

  • agregue doctrine/doctrine-orm-module a su composer.json ''s require (código de ejemplo después de la lista bcs de problemas de formateo)
  • ejecutar php composer.phar install
  • crea el directorio ./data/DoctrineORMModule/Proxy y asegura el acceso de escritura para tu aplicación
  • configure doctrine a través de sus aplicaciones /config/autoload para darle al módulo la configuración específica del proyecto (base de datos, etc.)
  • configurar la asignación de entidad de doctrina en sus módulos config.php
  • agrega una entidad a tu proyecto
  • agregue DoctrineORMModule y DoctrineModule a su config/application.config.php
  • ejecuta la herramienta cli para generar tus tablas ./vendor/bin/doctrine-module orm:schema-tool:create

Te recomiendo encarecidamente que no uses el compositor, ya que es una forma fácil de instalar dependencias y tener todos los autocargadores configurados. También ZF2 se envía vía compositor por defecto.

Código de ejemplo

composer.json

{ "require" : { "php": ">=5.3.3", "zendframework/zendframework": "2.*" "doctrine/doctrine-orm-module": "0.*" } }

configuración de entidades

<?php return array( ''doctrine'' => array( ''driver'' => array( // defines an annotation driver with two paths, and names it `my_annotation_driver` ''my_annotation_driver'' => array( ''class'' => ''Doctrine/ORM/Mapping/Driver/AnnotationDriver'', ''cache'' => ''array'', ''paths'' => array( ''path/to/my/entities'', ''another/path'' ), ), // default metadata driver, aggregates all other drivers into a single one. // Override `orm_default` only if you know what you''re doing ''orm_default'' => array( ''drivers'' => array( // register `my_annotation_driver` for any entity under namespace `My/Namespace` ''My/Namespace'' => ''my_annotation_driver'' ) ) ) ) );

Tengo que tener en cuenta que: los caminos hacia sus instalaciones deben estar plenamente calificados. El mejor comienzo es __DIR__ , de lo contrario las cosas se romperán (cada nuevo proyecto me pregunto por qué la herramienta de línea de comando no funciona hasta que encuentro este error ...;)

configuración de conexión

<?php return array( ''doctrine'' => array( ''connection'' => array( // default connection name ''orm_default'' => array( ''driverClass'' => ''Doctrine/DBAL/Driver/PDOMySql/Driver'', ''params'' => array( ''host'' => ''localhost'', ''port'' => ''3306'', ''user'' => ''username'', ''password'' => ''password'', ''dbname'' => ''database'', ) ) ) ), );

Todos los ejemplos de código son parte del readme del módulo de doctrina oficial

Otras lecturas:

Marco Pivetta hizo una marco-pivetta.com/doctrine-orm-zf2-tutorial/# , que recomiendo a todos los que usan este módulo.

Jason Grimes escribió un tutorial presentado en phpdeveloper.org que debería ayudar a instalar la doctrina, antes de que hubiera un módulo oficial.

Me gustaría empezar a desarrollar con Zend Framework y me gustaría usar zf2. Como utilizo Doctrine 2, ¿me pueden sugerir algunos tutoriales para ayudarme a integrarlo en zf2? ¡Gracias!


Actualizar:

Investigué esto un poco más y parece que el soporte nativo para Doctrine 2 en Zend Framework 2 aún está en proceso. Recomiendo estar atento a este Github Gist para supervisar cómo avanza el progreso.

Mientras tanto, es posible que desee consultar el repositorio zf2-doctrine-provider de Michiel Staessen. Aún no hay documentación para ello, pero sería lógico el siguiente paso una vez que esté al tanto de cómo funciona la biblioteca Bisna en ZF 1.x.

Me alienta ver que la mayor parte de la discusión sobre el soporte nativo de ZF2 para Doctrine se ha centrado en la flexibilidad. Es mi esperanza (y al parecer otros también) que el uso de Doctrine en Zend Framework no sea una opción de elección, sino una opción para crear partes específicas de un modelo de dominio sólido y flexible.

Publicación original:

Afortunadamente, la mayoría de los recursos principales para aprender ZF 1.x + Doctrine tuvieron en cuenta la migración a ZF2. No cubren el soporte nativo para Doctrine en ZF2, pero deberían ayudarlo a comenzar con muchos de los principios básicos.

Zendcasts tiene una excelente serie de tutoriales de Doctrine 2 que comienza con " Entidades de prueba de unidad 2 de Doctrine ". Asegúrese de ver los videos que lo siguen también, ya que Jon L. (el presentador) continuó incorporando las mejores prácticas a medida que avanzaba en los videos.

Zend Technologies tiene un seminario web definitivo titulado " Zend Framework v1 + Doctrine v2 ". Los presentadores discuten específicamente cómo estructuraron la aplicación de muestra para acomodar la migración de ZF2.

En cuanto al soporte nativo de ZF2, tampoco he encontrado nada. El conocido tutorial ZF2 de Rob Allen usa Zend / Db y no hay cobertura de Doctrine (todavía) en el " Zend Framework 2.0 Cookbook " de Nick Belhomme.

Buena suerte para comenzar y publique los buenos recursos que encuentre en ZF2 / D2.