【发布时间】:2015-02-23 14:21:58
【问题描述】:
如何在控制器外部或服务中呈现模板?
我一直在关注 Symfony2 的文档。 Doc
namespace Acme\HelloBundle\Newsletter;
use Symfony\Component\Templating\EngineInterface;
class NewsletterManager
{
protected $mailer;
protected $templating;
public function __construct(
\Swift_Mailer $mailer,
EngineInterface $templating
) {
$this->mailer = $mailer;
$this->templating = $templating;
}
// ...
}
这是我打电话给我的助手的地方:
$transport = \Swift_MailTransport::newInstance();
$mailer = \Swift_Mailer::newInstance($transport);
$helper = new MailHelper($mailer);
$helper->sendEmail($from, $to, $subject, $path_to_twig, $arr_to_twig);
所以这里首先缺少的是construct方法的第二个参数:
$helper = new MailHelper($mailer);
但是我将如何实例化 EngineInterface?
当然不可能:
new EngineInterface();
我完全迷路了。
我需要做的就是为正在发送的电子邮件呈现一个模板。
【问题讨论】:
-
你还记得我最近提出的问题吗?都在那里:gist.github.com/webdevilopers/4eea317ade72a119a72e
标签: symfony