我正在浏览与Dependency Injection相关的Symfony 2 文档,但找不到对自动装配的引用。我找到了一个提供某些此功能的捆绑包,但它仍处于测试阶段,并且似乎与注释相关(如果我错了,请纠正我)。
我正在寻找的是一个对象(例如服务容器),它可以通过 setter 注入在我的服务中注入依赖项。
例如,我会定义一个服务:
class Service {
/**
* @var \PDO
*/
protected $pdo;
/**
* @param \PDO $pdo
* @Inject
*/
public function setPDO(\PDO $pdo) {
$this->pdo = $pdo;
}
}
然后,我可以使用这个假设的服务容器在服务中注入依赖项,即使这个是在容器之外创建的:
$service = new Service();
// ...
$container->inject($service);
是否有可以通过这种方式自动装配依赖项的 DI 容器?