Come posso aggiungere il mio driver personalizzato senza modificare DriverManager.php nel core Doctrine2?Doctrine 2 - Come aggiungere un driver DBAL personalizzato?
Ho creato un driver DBAL per pdo_dblib
e lo ho inserito in un pacchetto Symfony2. Questo funziona bene, però devo aggiungere il mio autista a un elenco di driver di hard-coded in DriverManager.php, altrimenti ottengo la seguente eccezione:
Eccezione
[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 meno che modifico DriverManager.php
final class DriverManager
{
private static $_driverMap = array(
'pdo_dblib' => 'Doctrine\DBAL\Driver\PDODblib\Driver', // Added this line
);
}
Ecco la mia config.yml:
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_dblib
driver_class: PDODblibBundle\Doctrine\DBAL\Driver\PDODblib\Driver
è possibile condividere la cartella PDODblib come ho incontrato questo problema entrava, ha fatto anche voi riesci a trovare un modo per aggiungere un driver personalizzato senza modificare il core? – Matt
Non ho trovato un modo per aggiungere un driver senza modificare il core Doctrine2. Comunque puoi guardare il Bundle su: http://github.com/trooney/PDODblibBundle – rooney
Per chi percorre questo percorso: Ci sono commit non applicati PHP svn aggiungi lastInsertId e supporto per le transazioni al driver pdo_dblib. Vedi http://svn.php.net/viewvc/php/php-src/trunk/ext/pdo_dblib/dblib_driver.c?view=log (rev. 300647 e 300647) – rooney