3

この本のサービスコンテナの章をSymfony2何度も読んだり、トピックに関するSOの回答やその他のリソースを読んだりしましたが、それでも理解できないようです。

これまでのところ、私が読んだすべてのことは、私の頭の中に1つの主要な真実を掘り下げました。コンテナ自体は、(実際には)扶養家族に直接注入されるべきではありません。これは他のサービスへの依存関係を提供するためにうまく機能するようですが、たとえば、私のモデルのエンティティが現在のセキュリティコンテキストを検査したい場合はどうなりますか?

この場合、コンテナー対応コンテキストを実装ContainerAwareInterfaceしてから呼び出しsetContainer()てコンテナー自体にアクセスできることは承知していますが、これは、回避する必要のあるサービス構成からコンテナーを注入することと同じではありません。費用は?

4

1 に答える 1

3

あなたが説明するのは、ただの悪いデザインです。モデルはサービス コンテナーに依存するべきではありません。いくつかのセキュリティ チェックを実行する必要がある場合は、必要な依存関係が注入されたサービスを作成し、モデル オブジェクトをそれに渡します。

あなたの例では、ここで説明されている検証をしようとしているように聞こえますhttp://symfony.com/doc/master/book/validation.html、私が述べたように機能します。

于 2012-07-07T19:27:18.867 に答える