Zend \ DI (Dependency Injection) Как внедрить объекты в зависимые объекты - PullRequest
0 голосов
/ 04 октября 2019

У меня есть класс, который зависит от другого класса:

class a(PDO $db)
{}

class b(PDO $db, a $a) 
{}

Обычно класс создается следующим образом:

$db = new PDO(...);

$a = new a($db);
$b = new b($db, $a);

Используя Zendframework 3.1, я хотел бы использоватьвнедрение зависимости для создания экземпляра b:

use Zend\Di\Injector;
use Zend\Di\Config; 

$config = new Config([
    'type'=>b::class[]
]);

$injector = new Injector($config);
$b = $injector->create(b::class), [
    'db' => $db
]);

Это правильно устанавливает $ db для класса b, но пытается повторно создать экземпляр объекта PDO для класса a, что не идеально, какпередать $ db классу a

...