0
我很新的php symfony2。我想管理一个班级发送电子邮件。试图调用一个名为“renderView”的类未定义方法
services.yml:
mail_helper:
class: HelpBundle\MailSender\EmailManager
arguments: ['@mailer','@templating']
EmailManager:
class EmailManager
{
protected $mailer;
protected $templating;
public function __construct(\Swift_Mailer $mailer,$templating)
{
$this->mailer = $mailer;
$this->templating = $templating;
}
public function sendEmail($fromEmail,$toEmail,$subject,$comments,$status)
{
$message = \Swift_Message::newInstance()
->setSubject($subject)
->setFrom($fromEmail)
->setTo($toEmail)
->setBody($this->templating->renderView('HelpBundle:Emails:add-comment.html.twig', array('comments' => $comments,
'status' => $status,
'subject' => $subject)))
;
$this->mailer->send($message);
}
}
在我的控制器中我称这样的:当控制器动作称为
public newAction()
{
$mailer = $this->get('mail_helper');
$mailer->sendEmail($fromEmail,$toEmail,$subject,$comments,$ticketStatus);
}
错误是下一个:
Attempted to call an undefined method named "renderView" of class "HelpBundle\MailSender\EmailManager".
我想了解我如何解决这个问题?
非常感谢
可以帮助我如何使用它吗?谢谢 –
我已经使用完整代码编辑答案 – Eimsas
谢谢。现在在默认的控制器上,我打电话给服务发送电子邮件。获取下一个错误:可捕获的致命错误:传递给Swift_Mailer :: newInstance()的参数1必须是Swift_Transport的一个实例,没有给出,在C:\ wamp \ www \ help \ src \ HelpBundle \ Controller \ DefaultController.php中调用27和定义 代码是:/ ** @var EmailManager */ protected $ mailer; public function __construct() {this-> mailer = new EmailManager(\ Swift_Mailer :: newInstance()); } –