¿Cómo puedo agregar mi controlador personalizado sin modificar DriverManager.php en el núcleo de Doctrine2?Doctrine 2 - ¿Cómo agregar un controlador DBAL personalizado?
He creado un controlador DBAL para pdo_dblib
y lo coloqué dentro de un paquete Symfony2. Esto funciona bien, sin embargo, debo añadir mi conductor a una lista de controladores no modificables en DriverManager.php, de lo contrario me da la siguiente excepción:
Excepción
[Doctrine\DBAL\DBALException]
The given 'driver' pdo_dblib is unknown, Doctrine currently supports only the following drivers: pdo_mysql, pdo_sqlite, pdo_pgsql, pdo_oci, oci8, ibm_db2, pdo_ibm, pdo_sqlsrv
A menos que modifico DriverManager.php
final class DriverManager
{
private static $_driverMap = array(
'pdo_dblib' => 'Doctrine\DBAL\Driver\PDODblib\Driver', // Added this line
);
}
Aquí es mi config.yml:
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_dblib
driver_class: PDODblibBundle\Doctrine\DBAL\Driver\PDODblib\Driver
puede compartir su carpeta PDODblib como me he encontrado con este problema aswell, que también hizo ¿Se las arregla para encontrar una manera de agregar un controlador personalizado sin modificar el núcleo? – Matt
No he encontrado una manera de agregar un controlador sin modificar el núcleo de Doctrine2. Sin embargo, puedes mirar el paquete en: http://github.com/trooney/PDODblibBundle – rooney
Para cualquiera que vaya por esta ruta: hay commits sin aplicar PHP svn add lastInsertId y soporte de transacciones para el controlador pdo_dblib. Consulte http://svn.php.net/viewvc/php/php-src/trunk/ext/pdo_dblib/dblib_driver.c?view=log (rev. 300647 y 300647) – rooney