问题描述
我使用Symfony框架(使用依赖注入)开发应用程序,假设我有以下三种服务:
<?php
class ServiceA
{
public function funcInServiceA($input)
{
$result = 'something';
$tempValueA = $input + 'something';
return $result;
}
}
class ServiceB
{
public function funcInServiceB($input)
{
$result = 'something';
$tempValueB = $input + 'something';
return $result;
}
}
class ServiceC
{
public function funcInServiceC()
{
$resultFromA = $this->serviceA->funcInServiceA('input');
$resultFromB = $this->serviceB->funcInServiceB($resultFromA);
return $resultFromB;
}
}
我需要收集$tempValueA,$tempValueB,$resultFromA,$resultFromB
进行日志记录,是否有任何设计模式或最佳实践来做到这一点?
此致
解决方法
- 创建
ServiceD
并将EntityManager注入其中。 - 在其中创建类变量,例如说
values
,然后将临时值存储到该类变量中。 - 从需要存储临时值的其他每个地方
ServiceD
注入Service(A|B|C)
。 - 调用将临时值存储到类变量的ServiceD函数。
- 坚持
values
-如何调用它取决于您当前的设计-在没有任何更多信息的情况下,我要订阅最适合您需求的内核事件。