我在我的 zf2 应用程序上创建了一个控制台路由,以通过命令行发送电子邮件。因此,在我的操作中,我正在按照文档(http://framework.zend.com/manual/2.0/en/modules/zend.view.renderer.php-renderer.html)中的规定创建一个新的 PhpRenderer 来呈现我的电子邮件模板(替换变量等)并调度它。
这是我正在使用的代码:
$renderer = new \Zend\View\Renderer\PhpRenderer();
$resolver = new \Zend\View\Resolver\TemplateMapResolver();
$resolver->setMap(array(
'mailTemplate' => $config['template']
));
$renderer->setResolver($resolver);
$model = new \Zend\View\Model\ViewModel();
$model->setTemplate('mailTemplate');
$model->setVariables(array(
'recipient' => 'foo@bar.com'
));
$emailBody = $renderer->render($model);
但是,似乎 Phprenderer 没有在我的.phtml
文件中呈现任何 PHP。但是,如果我在正常的 HTTP 请求中执行它,完全相同的代码可以正常工作。
谁能帮我解决这个问题?