Jak mogę dodać niestandardowy sterownik bez modyfikowania DriverManager.php w rdzeniu Doctrine2?Doctrine 2 - Jak dodać niestandardowy sterownik DBAL?
Utworzono sterownik DBAL dla pdo_dblib
i umieściłem go w pakiecie Symfony2. Działa to dobrze, jednak muszę dodać mój sterownik do listy zakodowane kierowców w DriverManager.php, w przeciwnym razie pojawia się następujący wyjątek:
wyjątek
[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
ile zmodyfikować DriverManager.php
final class DriverManager
{
private static $_driverMap = array(
'pdo_dblib' => 'Doctrine\DBAL\Driver\PDODblib\Driver', // Added this line
);
}
Oto mój config.yml:
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_dblib
driver_class: PDODblibBundle\Doctrine\DBAL\Driver\PDODblib\Driver
można udostępniać folder PDODblib jak Natknąłem tej kwestii aswell, też prawda udaje się znaleźć sposób na dodanie niestandardowego sterownika bez modyfikowania rdzenia? – Matt
Nie znalazłem sposobu na dodanie sterownika bez modyfikowania jądra Doctrine2. Możesz jednak spojrzeć na Pakiet pod adresem: http://github.com/trooney/PDODblibBundle – rooney
Dla każdego, kto podąża tą ścieżką: Istnieją niezastosowane zatwierdzenia PHP svn dodaje obsługę lastInsertId i transakcji do sterownika pdo_dblib. Zobacz http://svn.php.net/viewvc/php/php-src/trunk/ext/pdo_dblib/dblib_driver.c?view=log (rev. 300647 i 300647) – rooney