コマンド ライン経由でメールを送信するために、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);
.phtml
ただし、Phprenderer はファイル内の PHP をレンダリングしていないようです。ただし、通常の HTTP リクエストで実行すると、まったく同じコードが正しく機能します。
誰でもこれで私を助けてくれますか?