Instalar Doctrine 2 en Zend Framework 2

Doctrine es un ORM que nos permite abstraernos totalmente de la base de datos y trabajar directamente con objetos de forma más rápida y optima. Veamos como instalar Doctrine 2 en Zend Framework 2. El ORM que instalaremos contará con menos opciones de consola que las que tiene en Symfony pero al fin y al cabo el código funcionará de forma similar.

Tendremos que tener instalado ZF2 y además git y todas las herramientas que requiere.

En primer lugar añadirnos los módulos de Doctrine a nuestro fichero composer.json de la raíz del proyecto.

En mi caso, mi fichero composer.json queda así:

{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "2.3.*",
        "doctrine/doctrine-module": "dev-master",
        "doctrine/doctrine-orm-module": "dev-master"
    }
}

Ahora instalaremos los módulos que acabamos de añadido ejecutando el comando php composer.phar update.
instalar doctrine 2 en zend framework 2

Para que Zend pueda utilizar estos módulos tenemos que añadirlos al array «modules» de la configuración principal de la aplicación. Los añadimos al fichero config/application.config.php.

<?php
return array(
    // This should be an array of module namespaces used in the application.
    'modules' => array(
        'DoctrineModule',
        'DoctrineORMModule',
        'Application',
    ),
//Resto de código del fichero

Ahora tenemos que crear un fichero para la configuración de la base de datos que utilizará Doctrine. Creamos el fichero config/autoload/doctrine.local.php

<?php
return array(
    'doctrine' => array(
        'connection' => array(
            'orm_default' => array(
                'params' => array(
                    'host' => 'localhost',
                    'port' => 3306,
                    'user' => 'root',
                    'password' => '',
                    'dbname' => 'doctrine_blog',
                    'driverOptions' => array(
                        \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
                    ),
                )
            )
        )
    )
);

Por último añadimos la configuración de Doctrine al módulo con el que estemos trabajando. Le indicaremos donde estarán las entidades. Entramos al fichero module.config.php de nuestro módulo, en mi caso Application.
Añadimos este array:

'doctrine' => array(
        'driver' => array(
            'application_entities' => array(
                'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                'cache' => 'array',
                'paths' => array(__DIR__ . '/../src/Application/Entity')
            ),
            'orm_default' => array(
                'drivers' => array(
                    'Application\Entity' => 'application_entities'
                )
        ))),

Ahora ya podremos empezar a utilizar la consola de Doctrine.
instalar doctrine 2 en zend framework 2 console

Podremos empezar a crear entidades y todo lo que nos permite Doctrine.

Más información:
Zend Framework 2 and Doctrine 2 ORM Integration
Doctrine ORM Official documentation

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post