41 votos

Zend Framework 2 + Doctrina 2

Me gustaría empezar a desarrollar con Zend Framework y me gustaría usar zf2. Desde que tengo uso Doctrina 2, puede sugerir algunos tutoriales para que me ayude a integrar en zf2? Gracias!

53voto

Samuel Herzog Puntos 2466

la última vez comprobado: ZF2.2.*, DoctrineORMModule 0.7.

Oficial Módulo

Es posible que desee cargar DoctrineORMModule a través de composer:

  • agregar doctrine/doctrine-orm-module de su compositor.json's requieren (ejemplo de código después de la lista de bcs de problemas de formato)
  • ejecutar php composer.phar install
  • crear el directorio ./data/DoctrineORMModule/Proxy y garantizar el acceso de escritura para su aplicación
  • configurar la doctrina a través de sus aplicaciones /config/autoload para dar el módulo, el proyecto de la configuración específica (base de datos, etc)
  • configurar la doctrina de la entidad de asignación de los módulos config.php
  • agregar una entidad para su proyecto
  • agregar DoctrineORMModule y DoctrineModule su config/application.config.php
  • ejecutar el cli herramienta para generar las tablas ./vendor/bin/doctrine-module orm:schema-tool:create

Me desaconseja la de no usar compositor, ya que es una manera fácil de instalar las dependencias y tienen los cargadores automáticos de todo el conjunto. También ZF2 buques a través del compositor por defecto.

Ejemplo De Código

el compositor.json

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

las entidades de configuración

<?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'
                )
            )
        )
    )
);

Una advertencia a tener en cuenta: Las rutas de acceso a su entites debe ser completo. Mejor empezar con __DIR__, de lo contrario las cosas van a romper (Cada nuevo proyecto me pregunto por qué la herramienta de línea de comandos no funciona hasta que me encuentro con este error ... ;)

configuración de la 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 de la doctrina oficial módulo léame

Leer Más:

Marcos Pivetta hizo una presentación maravillosa acerca de la doctrina-uso del módulo, la cual recomiendo a todo el mundo el uso de este módulo.

Jason Grimes escribió un tutorial que figuran en phpdeveloper.org que deben ayudar a la instalación de la doctrina, antes de que existiera un oficial módulo.

5voto

cantera Puntos 3322

Actualización:

He investigado un poco más y suena como soporte nativo para la Doctrina de la 2 en Zend Framework 2 todavía está en los trabajos. Recomiendo mantener un ojo en este Github Esencial para controlar cómo el progreso viene de camino.

Mientras tanto, usted puede ser que desee comprobar hacia fuera el repositorio de zf2-doctrina-proveedor de Michiel Staessen. No hay documentación, pero sería lógico siguiente paso una vez que estés al día sobre cómo la Bisna biblioteca funciona en ZF 1.x.

Me alienta ver que la mayoría de la discusión en torno ZF2 soporte nativo para la Doctrina se ha centrado en la flexibilidad. Es mi esperanza (y, al parecer, otros también) que el uso de la Doctrina en Zend Framework no será una elección, sino más bien una opción para la construcción de partes específicas de un sólido, flexible y modelo de dominio.

Post Original:

Afortunadamente, la mayoría de los principales recursos para el aprendizaje ZF 1.x + Doctrina tomó en cuenta la migración a ZF2. No cubra soporte nativo para la Doctrina en ZF2, pero deben ayudarle a conseguir comenzado con muchos de los principios fundamentales.

Zendcasts tiene una excelente Doctrina 2 tutorial de la serie que comienza con "la Unidad de Pruebas de la Doctrina 2 Entidades." Asegúrese de ver los videos que siguen, es también, como Jon L. (el presentador) continuó con la incorporación de mejores prácticas a medida que progresaba a través de los vídeos.

Zend Technologies ha definitiva webinar titulado "Zend Framework v1 + Doctrina v2". Los presentadores discutir específicamente cómo se estructuran de la aplicación de ejemplo para dar cabida a la ZF2 la migración.

Como para ZF2 soporte nativo, no he encontrado nada todavía. Rob Allen, conocido ZF2 tutorial utiliza Zend\Db y no hay ninguna Doctrina de cobertura (todavía) en Nick Belhomme "Zend Framework 2.0 libro de cocina."

La buena suerte de empezar y por favor enviar cualquier bien los recursos que puede encontrar en ZF2/D2.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X