php – Twig访问对象

我想访问一个树枝模板中的一个对象的值.

通常我会得到这样的回报:

echo $lang->get("test");

但是如何在树枝上做同样的事情呢?

我尝试了很多方法,但没有人工作.

例如我试过:

{{ attribute(lang,get,'test') }}

结果

Catchable Fatal error: Argument 3 passed to
Twig_Node_Expression_GetAttr::__construct() must be an instance of
Twig_Node_Expression_Array,instance of Twig_Node_Expression_Constant
given

谢谢

你想要做的是在一个Twig模板中的参数上调用一个对象的方法.我不认为这是支持的,因为它可能被认为是一个坏主意. Twig支持一个对象上的getter的概念,而这些参数无需参数:
{{ lang.test }}

将尝试按以下顺序调用以下其中一个

> $lang->测试
> $lang-> test()
> $lang-> gettest()
> $lang-> istest()

如果对象实现任何这些访问器和约定,Twig将会找到它.在这个约定之外的任何东西,比如get(‘test’)都不是Twig哲学的一部分.而且这不是一般广泛使用的成语,所以你应该坚持上述方法之一.

http://twig.sensiolabs.org/doc/templates.html#variables.

您可以实现__isset,__get或__call magic方法支持这些访问器方法之一.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...