我正在尝试做一些在 PHP 中非常简单的事情,但在 twig 中就不那么容易了。
基本上,我需要调用类方法,但我需要能够定义通过字符串调用的方法。
我有3种方法:getControlvs
, getControlnc
and getControltr
。但是,为了调用这些方法,我需要一个单独的变量来确定要调用哪个方法。
这就是我现在正在尝试调用的:
{% set neutPer = key.getControl~neutFaction %}
Where neutFaction
可以是“vs”、“nc”或“tr”。
这似乎只会触发 key.getControl ,然后就是这样,串联丢失了。
有任何想法吗?
提前致谢!
您可以使用属性枝函数:
首先将字符串连接为:
{% set method = "getControl" ~ neutFaction %}
然后调用为
{{ attribute(key, method) }}
您也可以将参数传递为:
{{ attribute(key, method, arguments) }}
此外,定义的测试可以检查动态属性是否存在:
{{ attribute(object, method) is defined ? 'Method exists' : 'Method does not exist' }}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)