我在我的Symfony2项目中使用twig来呈现模板变量:
$env = new \Twig_Environment(new \Twig_Loader_String());
$render = $env->render(
$renderString,
$params
);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用Symfony twig函数(例如'path','url','asset','controller'等)时,它会抛出异常"函数"路径"不存在于...中".有可能将此函数注入Twig_Environment吗?
此方法无需克隆树枝环境即可工作:(在symfony 3中测试)
$rendered = $this->get('twig')
->createTemplate('Hi {{ name }}!')
->render(['name' => 'simon']);
Run Code Online (Sandbox Code Playgroud)
像path工作一样,Symfony扩展就像请求一样.
试试这个 :
$twig = clone $this->get('twig');
$twig->setLoader(new \Twig_Loader_String());
$rendered = $twig->render(
"Test string template: {{ result|humanize }}",
array("result" => "mega_success")
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2467 次 |
| 最近记录: |