gpt4 book ai didi

symfony - twig 将字符串转换为它所代表的对象

转载 作者:行者123 更新时间:2023-12-04 21:45:14 28 4
gpt4 key购买 nike

成像我有一个对象,可以在这样的 Twig 模板中调用它:

{{ object1.object2.object3.property3A }}

好吧,如果我们使用php编写它会告诉我内容是:
$object1->getObject2()->getObject3()->getProperty3A();

我的问题是如果我有一个字符串,
$refString="object1.object2.object3.property3A";

然后它被传递给 Twig ,我怎么能得到property3A?根据我的经验,我们可以在 php 中这样做:
$refString="object1->getObject2()->getObject3()->getProperty3A()";
echo $$refString;

但我不知道如何让它在 Twig 上工作。

最佳答案

我没有测试过这个,但我认为它应该可以解决问题。

{#
recursively reading attributes from an object
! object1 must be available !
theValue is the value of property3A
#}
{% for key in "object1.object2.object3.property3A"|split('.') %}
{% if not loop.first %}{# skip the 'object1' part #}
{% set theValue = attribute(theValue|default(object1), key) %}
{% endif %}
{% endfor %}

关于symfony - twig 将字符串转换为它所代表的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15275084/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com