我有奇怪的行爲與數據庫自定義工廠。zf3自定義數據庫工廠不想應用
比如我想使用BjyProfiler創造1點的配置是這樣的:
'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',
),
),
所以使用Zend的\ DB I加入modules.config.php 「Zend的\ DB」(模塊,否則我得到例外)。問題是,當我想獲得「Zend \ Db \ Adapter \ Adapter」時,它永遠不會經過「Database \ Adapter \ MainAdapterFactory」,我不知道爲什麼......它使用一些默認的Adapter。我會在global.php,local.php中發佈工廠聲明,但它不起作用。這是爲什麼發生?在zf2這個代碼是好的...
我使用作曲家如果重要。
更新:在我的最後設置我有:
'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)
...
...
我不知道它是從哪裏來的別名'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterInterface'
但我認爲這就是問題所在。
這是問題,是的。我忘了添加答案。謝謝! – Botman