作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 JMS DI 注入(inject)带有注解的服务:
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 中使用,所以在 prod 中运行时:
The service "foo.bar.service" has a dependency on a non-existent service "debug.stopwatch".' in...
我的问题:如何在类里面正确地注入(inject)秒表服务?
最佳答案
建立依赖optional :
@DI\Inject("debug.stopwatch", required=false)
关于php - JMS DI 额外 bundle : How do I inject a dependency only if it exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15867778/
我是一名优秀的程序员,十分优秀!