试图调用名为 "newInstance" 的未定义方法 class "Swift_Message"
Attempted to call an undefined method named "newInstance" of class "Swift_Message"
几天后我无法再使用 Symfony 和 Swiftmailer 发送电子邮件,尽管我使用的是文档中的代码
private function _sendResetPasswordEmail(UserInterface $user)
{
$subject = $this->get('translator')->trans('email-title-reset-password');
$message = \Swift_Message::newInstance()
->setSubject($subject)
->setFrom('contact@example.com')
->setTo($user->getEmail())
->setBody(
$this->renderView(
'reset-password-email.html.twig',
['user' => $user]
),
'text/html'
)
;
$this->get('mailer')->send($message);
}
它曾经有效
现在我可以在日志中看到
"Attempted to call an undefined method named "newInstance" of class "Swift_Message"
什么可以改变?
实际上,在发布问题并链接到文档时,我惊讶地发现它已更新
现在是
$message = (new \Swift_Message('Hello Email'))
而不是
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
根据变更日志,自 swiftmailer6 发布以来
https://github.com/swiftmailer/swiftmailer/blob/master/CHANGES#L24
可惜没有"deprecated"期
@allan.simon 答案是正确的,但它可能更简单。
可以,但没有必要将 $subject
传递给 __constructor
。
之前
$message = \Swift_Message::newInstance()
现在
$message = (new \Swift_Message())
几天后我无法再使用 Symfony 和 Swiftmailer 发送电子邮件,尽管我使用的是文档中的代码
private function _sendResetPasswordEmail(UserInterface $user)
{
$subject = $this->get('translator')->trans('email-title-reset-password');
$message = \Swift_Message::newInstance()
->setSubject($subject)
->setFrom('contact@example.com')
->setTo($user->getEmail())
->setBody(
$this->renderView(
'reset-password-email.html.twig',
['user' => $user]
),
'text/html'
)
;
$this->get('mailer')->send($message);
}
它曾经有效
现在我可以在日志中看到
"Attempted to call an undefined method named "newInstance" of class "Swift_Message"
什么可以改变?
实际上,在发布问题并链接到文档时,我惊讶地发现它已更新
现在是
$message = (new \Swift_Message('Hello Email'))
而不是
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
根据变更日志,自 swiftmailer6 发布以来
https://github.com/swiftmailer/swiftmailer/blob/master/CHANGES#L24
可惜没有"deprecated"期
@allan.simon 答案是正确的,但它可能更简单。
可以,但没有必要将 $subject
传递给 __constructor
。
之前
$message = \Swift_Message::newInstance()
现在
$message = (new \Swift_Message())