Вы находитесь на странице: 1из 4

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 ms rpida y ptima. 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 cdigo funcionar de forma similar.
Tendremos que tener instalado ZF2 y adems git y todas las herramientas que requiere.
En primer lugar aadirnos los mdulos de Doctrine a nuestro fichero composer.json de la raz 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 mdulos que acabamos de aadido ejecutando el comando php
composer.phar update.
Para que Zend pueda utilizar estos mdulos tenemos que aadirlos al array modules de la
configuracin principal de la aplicacin. Los aadimos 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 cdigo del fichero

Ahora tenemos que crear un fichero para la configuracin 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 aadimos la configuracin de Doctrine al mdulo con el que estemos trabajando. Le
indicaremos donde estarn las entidades. Entramos al fichero module.config.php de nuestro
mdulo, en mi caso Application.
Aadimos 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.


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