데이터베이스 사용자 지정 팩토리에서 이상한 동작이 있습니다.zf3 사용자 지정 데이터베이스 팩터가 적용되지 않습니다.
'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',
),
),
그래서 내가 얻을 그렇지 않으면 modules.config.php에서 모듈 "젠드 \ DB를"(추가 젠드 \ DB를 사용하기 :
예를 들어 나는 BjyProfiler를 사용하고이 같은 1 개 구성을 만들려면 예외). 문제는 "Zend \ Db \ Adapter \ Adapter"를 가져오고 싶을 때 "Database \ Adapter \ MainAdapterFactory"를 절대 통과하지 못하는 이유입니다. 기본 어댑터를 사용합니다. 나는 global.php, local.php에 factory 선언문을 두는 것을 좋아하며 작동하지 않는다. 왜 이런 일이 일어나는 걸까요? 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'
에게 제공하지만이 문제라고 생각합니다 곳.
:
나는 당신이 당신의 자신의 어댑터 원래'Zend\Db\Adapter\Adapter'
을 (의이MyAdapter
를 부르 자) 및 사용자 정의 어댑터를 사용하여 확장 할 것을 제안했다. 나는 대답을 깜박했다. 감사! – Botman