JMS DI を使用して、アノテーション付きのサービスを注入しています。
use JMS\DiExtraBundle\Annotation as DI;
/**
* @DI\Service("foo.bar.service")
*/
class myClass
{
/**
* @DI\Inject("debug.stopwatch")
* @var $stopWatch \Symfony\Component\Stopwatch\Stopwatch
*/
public $stopWatch;
/**
* @DI\Inject("serializer")
* @var $serializer \JMS\Serializer\Serializer
*/
public $serializer;
public function toto()
{
if (isset($this->stopwatch)) {
$this->stopWatch->start("init");
}
}
}
ただし、StopWatch は Dev Env でのみ使用できるため、本番環境で実行する場合:
The service "foo.bar.service" has a dependency on a non-existent service "debug.stopwatch".' in...
私の質問:クラスにストップウォッチ サービスを適切に挿入するにはどうすればよいですか?