99use Psr \Container \ContainerInterface ;
1010use Webmozart \Assert \Assert ;
1111
12+ use function explode ;
13+ use function implode ;
14+ use function rtrim ;
15+ use function strtolower ;
16+
1217class Doctrine extends TransformerAbstract implements TransformerInterface
1318{
1419 public static function transform (ContainerInterface $ container , array $ configuration ): ContainerInterface
@@ -21,13 +26,19 @@ public static function transform(ContainerInterface $container, array $configura
2126 $ params = $ doctrineDBALConnection ->getParams ();
2227 $ driverOptions = $ params ['driverOptions ' ] ?? [];
2328
29+ $ driverClass = $ params ['driverClass ' ];
30+ $ driverNamespaces = explode ('\\' , $ driverClass );
31+ $ fullUnderscoredDriverName = strtolower (implode ('_ ' , $ driverNamespaces ));
32+ $ driverName = rtrim ($ fullUnderscoredDriverName , '_driver ' );
33+ [, $ driverName ] = explode ('driver_ ' , $ driverName );
34+
2435 $ dbAdapterConfig = [
25- 'username ' => $ doctrineDBALConnection -> getUsername () ,
26- 'password ' => $ doctrineDBALConnection -> getPassword () ,
27- 'driver ' => $ doctrineDBALConnection -> getDriver ()-> getName () ,
28- 'database ' => $ doctrineDBALConnection -> getDatabase () ,
29- 'host ' => $ doctrineDBALConnection -> getHost () ,
30- 'port ' => $ doctrineDBALConnection -> getPort () ,
36+ 'username ' => $ params [ ' user ' ] ,
37+ 'password ' => $ params [ ' password ' ] ,
38+ 'driver ' => $ driverName ,
39+ 'database ' => $ params [ ' dbname ' ] ,
40+ 'host ' => $ params [ ' host ' ] ,
41+ 'port ' => $ params [ ' port ' ] ,
3142 'driver_options ' => $ driverOptions ,
3243 ];
3344
0 commit comments