私はsymfonyでいくつかのオブジェクトをビルドしたいと思います。たとえば、あるオブジェクトParser
はパブリックメソッドparse($text)
を持ち、解析されたテキストを返します。他のすべての方法は、構文解析を管理するためにprivate
です。symfonyはフリーオブジェクトを使用します
この解析方法では、いくつかの作業を他のオブジェクトに除外したいと考えています。例えば、Clean
およびHighlight
。
サービスとしてParser
を含めるとします。しかし、それらを含めるために他のオブジェクトのサービスを作成する必要もありますか?私はコントローラでそれらを使用する予定はありません。 Parser
オブジェクトの中で、私はちょうど
new Highlight();
でそれらを呼び出すことができます。しかし、私はHighlight
内Doctrineのエンティティマネージャを使用したいので、今私は、問題を取得します。サービスの中では、私はサービス引数を介してそれを注入しますが、Highlight
は不可能なサービスではないためです。
DoctrineをこのフリーのオブジェクトHighlight
にどのように注入すればよいですか?そして、一般的に、このようなオブジェクトをsymfonyで使うのは大丈夫ですか?
はい - あなたはsymfonyでサービスが好きなものを作ることができます。 http://symfony.com/doc/current/service_container.html#creating-configuring-services-in-the-container – craigh