我想访问树枝模板内对象的值。
通常我会得到这样的回报:
echo $lang->get("test");
但是我怎样才能在模板中用树枝做同样的事情呢?
我尝试了很多方法,但没有一个有效。
例如我尝试过:
{{ attribute(lang, get, 'test') }}
结果
可捕获的致命错误:参数 3 传递给
Twig_Node_Expression_GetAttr::__construct() 必须是一个实例
Twig_Node_Expression_Array,Twig_Node_Expression_Constant 的实例
给定
thanks
您想要做的是使用 Twig 模板中的参数调用对象上的方法。我认为这不会得到支持,因为这可能被视为一个坏主意。 Twig 支持对象上 getter 的概念,调用时不带参数:
{{ lang.test }}
将尝试按此顺序调用以下其中一项:
$lang->test
$lang->test()
$lang->getTest()
$lang->isTest()
如果对象实现了任何这些访问器和约定,Twig 就会找到它。任何超出此约定的内容,例如get('test')
,不是 Twig 哲学的一部分。一般来说,它并不是一个广泛使用的习惯用法,因此您应该坚持使用上述方法之一。
See http://twig.sensiolabs.org/doc/templates.html#variables http://twig.sensiolabs.org/doc/templates.html#variables.
你可以实施__isset
, __get
or __call
支持这些访问器方法之一的魔术方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)