You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twig模板中如何调用动态名称的getter类方法

Twig动态调用对象方法的可行方案
  • 方案1:使用Twig内置attribute函数(优先推荐)
    attribute是Twig官方提供的、专门用于动态访问对象属性、调用对象方法的原生函数,你的场景可以直接改写为以下代码:
{% set brick = attribute(project.software, brickName) %}

如果对应getter方法需要传入参数,只需在第三个参数位传入参数数组即可,示例:

{% set brick = attribute(project.software, brickName, [param1, param2]) %}
  • 方案2:自定义Twig扩展(适合高频动态调用场景)
    如果项目中需要频繁使用动态方法调用逻辑,可以自行开发Twig扩展封装专用调用方法,同时可在扩展内增加方法名校验、权限控制等逻辑,降低安全风险。

注意:动态调用方法存在一定安全隐患,建议提前对brickName的取值范围做校验,避免调用到非预期的内部方法。

内容的提问来源于stack exchange,提问作者awant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 05:48:02