如何在不修改Doctrine2核心中的DriverManager.php的情况下添加自定义驱动程序?
我已经创建了一个DBAL驱动程序pdo_dblib并将其放在Symfony2包中.这工作正常,但我必须将我的驱动程序添加到DriverManager.php中的硬编码驱动程序列表,否则我得到以下异常:
例外
[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
Run Code Online (Sandbox Code Playgroud)
除非我修改DriverManager.php
final class DriverManager
{
private static $_driverMap = array(
'pdo_dblib' => 'Doctrine\DBAL\Driver\PDODblib\Driver', // Added this line
);
}
Run Code Online (Sandbox Code Playgroud)
这是我的config.yml:
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_dblib
driver_class: PDODblibBundle\Doctrine\DBAL\Driver\PDODblib\Driver
Run Code Online (Sandbox Code Playgroud)