5

Dependency Injectionに関連するSymfony 2 のドキュメントを閲覧していますが、自動配線への参照が見つかりません。この機能の一部を提供するバンドルを見つけましたが、まだベータ版であり、注釈に関連付けられているようです (間違っていたら訂正してください)。

私が探しているのは、セッター注入を介してサービスに依存関係を注入できるオブジェクト (サービス コンテナーなど) です。

たとえば、サービスを次のように定義します。

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 コンテナーはありますか?

4

3 に答える 3

3

Symfony 2.8 以降、自動配線はネイティブでサポートされています: https://github.com/symfony/symfony/pull/15613

于 2015-10-14T20:54:04.977 に答える
2

https://github.com/kutny/autowiring-bundleで実行可能な自動配線バンドルもあります。

于 2013-09-23T08:29:01.480 に答える
-1

JMSDiExtraBundle@InjectParamsの注釈を参照してください。

于 2012-07-13T12:22:32.680 に答える