Symfony2改变了twig lexer

时间:2014-10-10 11:45:40

标签: php angularjs symfony twig

我想在symfony2中更改默认的twig lexer。

  • 我创建了自定义控制器
  • 为其设置服务
  • 设置服务路线
  • 将twig lexer注入服务
  • 在我的控制器的构造函数中更改词法分析器
  • 当我不使用插值
  • 时,结果会很好
  • 但是lexer没有改变仍然{{}}由twig解析

class MyController
{
 private $twig;

 public function __construct( Environment $twig)
 {
    $this->twig = $twig;
    $lexer = new Twig_Lexer($twig, array(
        'tag_comment'   => array('[#', '#]'),
        'tag_block'     => array('[%', '%]'),
        'tag_variable'  => array('[[', ']]'),
        'interpolation' => array('#[', ']'),
    ));
    $this->twig->setLexer($lexer);
 }

 public function indexAction()
 {
    return new Response($this->twig->render(
        '@Template/index.html.twig'
    ));
 }
}

对于angularjs,存在{{alert}}插值的变量,而来自symfony的响应是

Variable "alert" does not exist in @Template/index.html.twig at line 3

所以lexer不会改变

0 个答案:

没有答案