所以我真的很想弄清楚如何在 Symfony 5 中做到这一点。
我有一个名为 PaymentRequestService 的服务,它具有对另一个应用程序(基于微服务)的请求的完整逻辑。我在 PaymentService 中注入了 PaymentRequestService 作为构造函数,这是一个处理数据、进行验证等的服务。
现在我正在尝试使用 PaymentService 从我的控制器调用 PaymentRequestService 的方法。类似的东西:$paymentService->$paymentRequestService->method。
有人可以告诉我该怎么做吗?
现在它看起来像这样$payment = $paymentRequestService->getPaymentRequest((string)$id)
但我想消除 PaymentRequestService。
我不争论你想使用的架构......但你会这样做:(PHP 8 语法)
class PaymentService
public function __construct(private PaymentRequestService $requestService)
{}
public function getRequest(): PaymentRequestService
{
return $this->requestService;
}
}
class MyController extends AbstractController
{
public function myAction(PaymentService $paymentService, Request $request): Response
{
$id = $request->get('id');
$payment = $paymentService->getRequest()->getPaymentRequest((string)$id);
return new Response('done');
}
}
您还可以将特定方法映射为不需要级联 - 但是为什么您首先不直接使用 RequestService 。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句