我已经阅读了很多关于如何注入服务等的文档,但仍然没有找到一个简单的解决方案来解决我的问题。
问题是:从 FormHandler 访问邮件服务。当表单有效时,它会发送一封电子邮件,就这么简单。
问题是我每次调用 FormHandler 时都必须将邮件作为参数传递,我认为这不是很干净。
那么,我如何在没有所有这些参数的情况下从 FormHandler 访问邮件服务?
这是我的位置:
$formHandler = new InscriptionHandler($form,
$this->get('request'),
$this->getDoctrine()->getEntityManager(),
$this->get('mailer'),
$this,
$this->getRequest()->getLocale());
然后,构造函数:
public function __construct(Form $form, Request $request, EntityManager $em, $sm, $ctrl, $locale) {
$this->form = $form;
$this->request = $request;
$this->em = $em;
$this->sm = $sm;
$this->ctrl = $ctrl;
$this->locale = $locale;
}
我想我可以将 $this 作为参数传递,但为了更好地理解问题,这就是我编写的代码。
在此先感谢,詹姆斯