【发布时间】:2018-04-03 11:50:00
【问题描述】:
好的,我试着尽可能简单地解释一下:
在我的 PHP Web 应用程序中,我使用"lavary/crunz" 设置了一些自动化任务。
我面临的问题是在尝试使用“Twig 模板引擎”创建我的电子邮件正文时,它以某种方式无法正常工作,并且我在调试时收到的错误消息没有帮助。:
class MyClass
{
public static function _testTask()
{
$receiver = ['email'=>COMPANY_EMAIL,'name'=>COMPANY_NAME];
return function() use($receiver)
{
$mail = new \MailerCtrl();
$loader = new \Twig_Loader_Filesystem("views/templates");
$twig = new \Twig_Environment($loader,["cache" => "views/cache"]);
$content = array('name'=>'My Name','age'=>25);
$subject = 'Something';
$mail->send($subject,$receiver,$twig->render('report.html.twig', $content));
};
}
}
$schedule->run(MyClass::_testTask())->cron('* * * * *');
我的 MailerCtrl 类是一个简单的 PHPMailer 表示,它期望我希望从 $twig->render('report.html.twig', $content); 呈现的 html 正文
还有其他甚至更好的方法来实现这一点吗?当我从 http 调用此脚本时,它按预期工作,但是当通过“crunz”运行它时,我收到此错误:
PHP 可捕获的致命错误:
传递给 Twig_Filter::__construct() 的参数 1 必须是一个实例 字符串,字符串给定,调用 /home/httpd/vhosts//httpdocs/vendor/twig/twig/lib/Twig/Extension/Core.php 在第 139 行并定义在 /home/httpd/vhosts//httpdocs/vendor/twig/twig/lib/Twig/Filter.php on 第 35 行
【问题讨论】: