Symfony 2依赖注入和自动装配

5
我正在浏览与依赖注入相关的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容器可以以这种方式自动装配依赖项?
3个回答

3

2

-1

1
我在三年前回答这个问题的事实并不重要,对吧? - Elnur Abdurrakhimov
1
这仅适用于新手,以便他们了解Symfony现在具有原生支持。并且他们不必使用一些bundles。我试图推广最相关的最新答案。 - Tomas Votruba
仅仅因为在我回答之后超过3年出现了新的东西,并不意味着我的回答无效。而且这些新的东西甚至还没有发布。 - Elnur Abdurrakhimov
这里没有争议。现在同一个问题只有更多的可能解决方案。 - Tomas Votruba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接