如何让 "lavary/crunz" 与 twig 一起工作
How to get "lavary/crunz" to work with twig
好的,我尽量解释得通俗易懂:
在我的 PHP Web 应用程序中,我使用 "lavary/crunz"
设置了一些自动化任务。
我面临的问题是在尝试使用 "Twig Templating engine" 创建我的电子邮件正文时,它无法正常工作,我在调试时收到的错误消息没有帮助。:
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
class 是一个简单的 PHP 邮件程序表示,它期望 html 正文我希望从 $twig->render('report.html.twig', $content);
呈现
是否有其他甚至更好的方法来完成此任务?当我从 http 调用此脚本时,它按预期工作,但是当 运行 通过 "crunz" 时,我收到此错误:
PHP 可捕获的致命错误:
Argument 1 passed to Twig_Filter::__construct() must be an instance
of string, string given, called in
/home/httpd/vhosts//httpdocs/vendor/twig/twig/lib/Twig/Extension/Core.php
on line 139 and defined in
/home/httpd/vhosts//httpdocs/vendor/twig/twig/lib/Twig/Filter.php on
line 35
HTTP 是 运行 PHP 7
和
"lavary/crunz"
通过 PHP 命令行不是 运行 PHP 7 因为 Twig 2.0 至少需要 PHP 7 如下所述:
将您的 PHP 命令行更新为 7,它应该可以工作。
好的,我尽量解释得通俗易懂:
在我的 PHP Web 应用程序中,我使用 "lavary/crunz"
设置了一些自动化任务。
我面临的问题是在尝试使用 "Twig Templating engine" 创建我的电子邮件正文时,它无法正常工作,我在调试时收到的错误消息没有帮助。:
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
class 是一个简单的 PHP 邮件程序表示,它期望 html 正文我希望从 $twig->render('report.html.twig', $content);
是否有其他甚至更好的方法来完成此任务?当我从 http 调用此脚本时,它按预期工作,但是当 运行 通过 "crunz" 时,我收到此错误:
PHP 可捕获的致命错误:
Argument 1 passed to Twig_Filter::__construct() must be an instance of string, string given, called in /home/httpd/vhosts//httpdocs/vendor/twig/twig/lib/Twig/Extension/Core.php on line 139 and defined in /home/httpd/vhosts//httpdocs/vendor/twig/twig/lib/Twig/Filter.php on line 35
HTTP 是 运行 PHP 7 和
"lavary/crunz"
通过 PHP 命令行不是 运行 PHP 7 因为 Twig 2.0 至少需要 PHP 7 如下所述:
将您的 PHP 命令行更新为 7,它应该可以工作。