忽略树枝中的未知标签

问题描述 投票:1回答:1

我有一些用Twig编写的模板。然后我编写了一个单独的脚本来使用CLI运行。这个脚本允许我扫描我的模板并编译我的Assetic资产。

问题是我有一些自定义的Twig令牌解析器供应用程序使用,但是,脚本不需要它们来扫描和编译我的Assets。其中一些标签非常复杂,需要完整的应用程序才能运行。

有没有一种简单的方法让Twig忽略未知标签?

一种可能的解决方案是创建一个虚拟标记解析器,并给它与标记相同的名称,但这对我来说似乎非常讨厌,我想避免走这条路。

php twig
1个回答
0
投票

我只是编写了一个令牌解析器,将令牌解析器移动到块的末尾。

我还提供了一种在构造函数中设置'令牌名称'的方法:$twig->addTokenParser(new DummyTokenParser('abc'));

这将允许DummyTokenParser接管名为abc的标签。

可以用它来替换多种类型的标签:

$twig->addTokenParser(new DummyTokenParser('tag1'));
$twig->addTokenParser(new DummyTokenParser('tag2'));
© www.soinside.com 2019 - 2024. All rights reserved.