Symfonyで自作クラス内からDoctrineを呼ぶ方法
自作クラスからDoctrineを呼びたいのですが、サービスコンテナとして定義してDIする他に方法は無いのでしょうか。
追記
この自作クラスは、Doctrineのエンティティクラスではない、普通のクラスです。
Acme/AppBundle/BuilderにSubscriberDirector.phpとSubscriberBuilder.phpを用意して、Controllerから
$builder = new SubscriberBuilder();
$director = new SubscriberDirector($builder);
$subscriber = $director->getSubscriber();
というようにBuilderパターンを適用したいです。
SubscriberBuilderクラス内でSubscriberのプロパティにDBより読み込んだ値をセットしたいのですが、可能でしょうか。
また、現在はServiceにscope: prototypeとしてSubscriberBuilderとSubscriberDirectorを登録してDoctrineをDIして
subscriber_builder:
class: Acme\AppBundle\Builder\Subscriber\SubscriberBuilder
scope: prototype
arguments: [@doctrine]
Controllerからは
$builder = $this->get('subscriber_builder');
$director = $this->get('subscriber_director');
$director->initialize($builder);
$subscriber = $director->getSubscriber();
として使っていますが、Serviceのスコープは本来このような使い方をするものではないのではないかともやもやしています。