【问题标题】:How to get "lavary/crunz" to work with twig如何让“lavary/crunz”与树枝一起工作
【发布时间】: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 行

【问题讨论】:

    标签: php twig slim-3


    【解决方案1】:

    HTTP 正在运行 PHP 7 和

    “厕所/crunz”

    通过 PHP 命令行未运行 PHP 7,因为 Twig 2.0 至少需要 PHP 7,如下所述:https://stackoverflow.com/a/41888528/1865829

    将您的 PHP 命令行更新为 7,它应该可以工作了。

    【讨论】:

      猜你喜欢
      • 2023-02-02
      • 1970-01-01
      • 2017-06-25
      • 2020-12-13
      • 2012-02-02
      • 2011-02-22
      • 2013-03-24
      • 2016-07-22
      • 2011-08-17
      相关资源
      最近更新 更多