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.
driverClass
provee el nombre de la clase a usar como controlador de
la base de datos. Como usamos MySQL especificamos el nombre de clase
Doctrine\DBAL\Driver\PDOMySQL\Driver
.A manera de guía en la tabla 12.1 podemos encontrar varios controladores de base de datos usados comunmente. 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.
La llave params
contiene los siguientes parámetros de conexión:
host
puede ser o el nombre de dominio o la dirección IP del servidor de
base de datos;user
es el nombre de usuario de MySQL con permisos sobre la base de datos;password
la contraseña para el nombre de usuario;dbname
es el nombre de la base de datos-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 manejador 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 subllaveorm_test
debajo de la llave y llenamos sus parámetros de conexión.