Ich habe seltsames Verhalten mit Datenbank benutzerdefinierte Fabrik.zf3 Benutzerdefinierte Datenbankfabrik möchte nicht angewendet werden
Zum Beispiel möchte ich BjyProfiler verwenden und erstellen 1 Config wie folgt aus:
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=framework;host=localhost',
'username' => 'root',
'password' => '',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Database\Adapter\MainAdapterFactory',
),
),
So Zend \ Db verwenden ich das Modul in modules.config.php "Zend \ Db" hinzugefügt (sonst bekomme ich Ausnahmen). Das Problem ist, dass wenn ich "Zend \ Db \ Adapter \ Adapter" bekommen will, es nie durch "Datenbank \ Adapter \ MainAdapterFactory" geht und ich weiß nicht warum ... Es benutzt einen Standard-Adapter. Ich habe versucht, Factory-Deklaration in global.php, local.php zu setzen und es funktioniert nicht. Warum passiert dies? In ZF2 ist dieser Code in Ordnung ...
Ich benutze Komponist, wenn das wichtig ist.
Update: In meinem letzten Config ich habe:
'service_manager' =>
array (size=5)
'aliases' =>
array (size=11)
...
'Zend\Db\Adapter\Adapter' => string 'Zend\Db\Adapter\AdapterInterface' (length=32)
...
'factories' =>
array (size=19)
...
'Zend\Db\Adapter\AdapterInterface' => string 'Zend\Db\Adapter\AdapterServiceFactory' (length=37)
...
'Zend\Db\Adapter\Adapter' => string 'Database\Adapter\Factory\MainAdapterFactory' (length=43)
'abstract_factories' =>
array (size=3)
...
1 => string 'Zend\Db\Adapter\AdapterAbstractServiceFactory' (length=45)
...
...
Ich weiß nicht, woher es kommt alias 'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterInterface'
aber ich denke, das ist das Problem.
, dass das Problem war, ja. Ich habe vergessen, die Antwort hinzuzufügen. Vielen Dank! – Botman