Para configurar la conexión a la base de datos en Zend Framework 2, tenemos que crear un fichero llamado local.php en el directrio config/autoload de la raíz del proyecto.
Zend nos da la posibilidad de conectarnos a diferentes tipos de sgbd, para ello incluye los siguientes drivers:
- Mysqli: The ext/mysqli driver
- Pgsql: The ext/pgsql driver
- Sqlsrv: The ext/sqlsrv driver (from Microsoft)
- Pdo_Mysql: MySQL through the PDO extension
- Pdo_Sqlite: SQLite though the PDO extension
- Pdo_Pgsql: PostgreSQL through the PDO extension
Creamos el fichero /config/autoload.php/local.php y lo configuramos con el driver que necesitemos
<?php //Configuración para conectarnos a MySQL con MySQLi return array( 'service_manager'=>array( 'factories'=>array( 'Zend\Db\Adapter'=>'Zend\Db\Adapter\AdapterServiceFactory', ), ), 'db'=>array( 'driver' => 'Mysqli', 'database' => 'pruebas', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'options' => array('buffer_results' => true) ), );
El driver recomendado por PHP es PDO
<?php //Configuración para conectarnos a MySQL con PDO return array ( 'service_manager'=>array( 'factories'=>array( 'Zend\Db\Adapter'=>'Zend\Db\Adapter\AdapterServiceFactory', ), ), 'db'=>array( 'username'=>'root', 'password'=>'', 'driver'=>'Pdo', 'dsn'=>'mysql:dbname=pruebas;host:localhost', 'driver_options'=>array( PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES \'utf8\'' ), ), );
Más información:
http://framework.zend.com/manual/2.2/en/modules/zend.db.adapter.html