A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

12.4. Especificar los Parámetros de Conexión

Abajo mostramos el contenido del archivo autoload/local.php de la aplicación web Blog. Este archivo de configuración general contiene parámetros de conexión para la base de datos blog de MySQL que creamos al principio de este capítulo.

Esta configuración se comparte por todos los módulos de la aplicación web. Si queremos crear una conexión específica de módulo debemos agregar la llave al archivo module.config.php.

<?php
use Doctrine\DBAL\Driver\PDOMySql\Driver as PDOMySqlDriver;

return [
    'doctrine' => [
        'connection' => [
            'orm_default' => [
                'driverClass' => PDOMySqlDriver::class,
                'params' => [
                    'host'     => '127.0.0.1',
                    'user'     => 'blog',
                    'password' => '<password>',
                    'dbname'   => 'blog',
                ]
            ],
        ],
    ],
];

Arriba tenemos la llave doctrine y la subllave connection. La subllave connection contiene la subllave orm_default que es la conexión por defecto.

A manera de guía en la tabla 12.1 podemos encontrar varios controladores de base de datos usados comúnmente. Cada clase controladora soporta su propio conjunto de parámetros así que es bueno revisar el código de cada controlador (y la documentación) para información adicional.

Tabla 12.1. Clases Controladoras Usadas Comúnmente
Método Descripción
Doctrine\DBAL\Driver\PDOSqlite\Driver controlador para SQLite que usa la extensión PDO de PHP.
Doctrine\DBAL\Driver\PDOMySql\Driver controlador para MySQL que usa la extensión PDO de PHP.
Doctrine\DBAL\Driver\PDOOracle\Driver controlador para Oracle que usa la extensión PDO de PHP.
Doctrine\DBAL\Driver\PDOPgSql\Driver controlador para PostgreSQL que usa la extensión PDO de PHP.
Doctrine\DBAL\Driver\PDOSqlsrv\Driver controlador para MS SQL Server que usa la extensión PDO de PHP.

Como el archivo autoload/local.php contiene parámetros específicos de entorno solo guardamos su "plantilla de distribución" en el controlador de versiones, es decir, el archivo local.php.dist. Luego, cada desarrollador en nuestro equipo renombra el local.php.dist" a local.php y coloca su propia contraseña en lugar del comodín. El archivo local.php no debe ser manejado por el control de versiones por que usualmente no queremos que otras personas de nuestro equipo (o otras personas con acceso a nuestro repositorio de código) vean la contraseña actual.

¿Que sucede si necesitamos varias conexiones a base de datos?

Podemos fácilmente agregar más conexiones a base de datos agregando otras llaves abajo de la llave orm_default. Por ejemplo, vamos a asumir que tenemos otras bases de datos que usamos para pruebas. Para permitir que Doctrine conozca estas bases de datos, creamos la subllave orm_test debajo de la llave y llenamos sus parámetros de conexión.


Top