我在树枝上遇到了一个问题,如下所示:
我想使用一个变量,它是一个字符串,它是内部的一个条件(我从yml文件的表中读取(,if语句考虑这个例子。
{% set condition = 'a condition' %}
{% if condition == true ]%
do something
{% endif %}
注意:用作变量的字符串包含一个分支代码
怎么可能做到这一点??
twitch中有类似php的eval((的吗?
乙醇提前
您可以使用is_granted
函数进行一些棘手的破解。它被创建用于安全目的,但它将适用于您的用例。
is_granted
可以计算Symfony表达式,然后结果可以用于条件语句。
这个例子适用于您的情况:
{% set condition = "true" %}
{% if is_granted(expression(condition)) %}
CONDITION IS TRUTHY
{% endif %}
要使其工作,您需要安装symfony表达式和安全组件:
composer require symfony/expression-language
composer require security
此外,如果您不使用它来授予用户对模板中某些位置的访问权限,那么最好创建自己的trick函数,该函数将执行类似is_granted
的Symfony表达式。