我有一些用Twig编写的模板。然后我编写了一个单独的脚本来使用CLI运行。这个脚本允许我扫描我的模板并编译我的Assetic资产。
问题是我有一些自定义的Twig令牌解析器供应用程序使用,但是,脚本不需要它们来扫描和编译我的Assets。其中一些标签非常复杂,需要完整的应用程序才能运行。
是否有一种简单的方法让Twig忽略未知标记?
一种可能的解决方案是创建一个虚拟标记解析器,并为其指定与标记相同的名称,但这对我来说似乎非常虚伪,我希望避免走这条路。
答案 0 :(得分:0)
我只是编写了一个令牌解析器,将令牌解析器移动到块的末尾。
我还提供了一种在构造函数中设置'token name'的方法:
$twig->addTokenParser(new DummyTokenParser('abc'));
这将允许DummyTokenParser接管名为abc
的标签。
可以使用它来替换多种类型的标签:
$twig->addTokenParser(new DummyTokenParser('tag1'));
$twig->addTokenParser(new DummyTokenParser('tag2'));