当我阅读文档和示例时,发现LoggerInterface
通过依赖项的构造函数,如seen here,并且这允许依赖项输出到控制台。如何从Symfony控制台应用程序中的类登录
我的问题是:
如果我有多个班级做我一直沿着
LoggerInterface
传入构造函数或是否有更好的做法呢?或者,我是否应该将它传递给这些课程?如果我想用
LoggerInterface
做一个班级工作,我会一直检查$this->logger
是否为空,然后采取相应措施?
例如,
class ObjectOne {
/**
* @var LoggerInterface
*/
private $logger;
public function __construct (LoggerInterface $logger) {
$this->logger = $logger;
}
}
class ObjectTwo {
/**
* @var ObjectOne[]
*/
private $items;
/**
* @var LoggerInterface
*/
private $logger;
public function __construct (LoggerInterface $logger) {
$this->logger = $logger;
}
public function addObject() {
$this->items[] = new ObjectOne($this->logger);
}
}