Twig 访问对象

2024-02-10

我想访问树枝模板内对象的值。

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

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(使用前将#替换为@)

Twig 访问对象 的相关文章

  • php 打印 aa aaa ab aab 直到 zzz 的算法

    你好 我需要打印从 a 到 zzz 最多 3 个字母 例如我的输出应该是 A B Z AA AB AZ BA BB ZZ AAA AAB ZZZ 我在过去的 5 个小时里努力尝试 我找不到任何逻辑 我尝试了下面的代码 PHP 有一个方便的功
  • Laravel 集合 .each() + array_push

    需要有关 Laravel 上 each 方法内的 array push 的帮助 我无法在此代码上获取容器数组 imagesData array collect data images gt each function v k use ima
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何在 Laravel 中创建一条包罗万象的路线

    我需要一个 Laravelroutes php将捕获所有流量到特定的条目example com premium section网站 以便我可以提示人们在访问优质内容之前成为会员 您还可以通过在参数上使用正则表达式来捕获 全部 Route g
  • PDO::commit() 成功或失败

    The PHP PDO 提交 http www php net manual en pdo commit php文档指出该方法成功时返回 TRUE 失败时返回 FALSE 这是指beginTransaction 和commit 之间的语句执
  • 使用 .htaccess 启用 PHP 短标签

    我在自己的 Centos 服务器上设置了 Apache 并具有多个虚拟 Web 服务器 并且我希望仅为位于以下位置的其中一个 Web 服务器启用 PHP 短标记 var www ostickets html 我可以通过添加成功启用短标签sh
  • header() 错误未在 php 中显示

    我写了一个PHP程序 我用session start and header 函数 我知道在向客户端发送任何内容之前应该使用此函数 没关系 但是为了测试 我向客户端发送了一条测试消息echo test 在使用 header 之前 但我没有收到
  • 在 Kohana 中,可以触发 404 错误吗?

    我有一个名为articles 它创建从数据库获取相关数据的文章模型 我想 如果我调用的方法返回false 触发 404 错误 这是我到目前为止所拥有的 articleName this gt uri gt segment articles
  • 如何将 php Web 应用程序转换为桌面应用程序并保留数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有一个用 PHP 开发的 Web 应用程序 但大多数客户并没有一直连接到互联网 那么 有没有办法将应用程序转换为桌面应用程序 以便
  • PMA 4.5.2.0 file_exists():open_basedir 限制生效

    从 PPA 在我的 Ubuntu 服务器上安装 phpMyAdmin 后 https launchpad net nijel archive ubuntu phpmyadmin https launchpad net nijel archi
  • 为什么当尝试使用 $this->data 访问 CakePHP 时,密码字段为空?

    我正在实现一个身份验证组件 这是我的注册页面 create User array action gt login echo form gt input primary email array size gt 32 echo form gt
  • 将 PHP mcrypt 与 Rijndael/AES 结合使用

    我正在尝试使用 php 中的 mcrypt 和密码 Rijndael 加密一些文本消息 但我不确定 MCRYPT MODE modename 根据 PHP 手册 这些可用 ecb cbc cfb ofb nofb 或 stream 但我读到
  • PHP 如果不存在,则从字符串中删除 ','

    我正在运行这段代码 stmt pdo conn gt prepare SELECT from admin where support emails support emails and logged logged and disabled
  • Facebook Graph API v3.1 开发人员访问令牌权限限制

    如您所知 Facebook 将其 API 升级到了 V3 1 现在正在慢慢地淘汰旧的 API 和应用程序 因此我们必须迁移到新的 API 他们做出了一些艰难的决定 这对垃圾邮件网站来说是好事 但对开发人员来说也很难 提醒 Graph API
  • 如何在 Laravel 代码中使用 Artisan 命令?

    如何在我的 php caode Ex 中使用 Artisan 命令行 php artisan version to 您可以从控制器调用 Artisan 命令 如下所示 calling of migrate install Artisan c
  • 如何将参数传递给 Symfony2 中的验证约束 - 在 yml 中

    我正在尝试向我的应用程序添加一个包范围的参数 以便我可以将其添加到我的验证约束文件 validation yml 中 myApp myBundle Entity Contact properties name NotBlank messag
  • Laravel 8、Sanctum、Fortify /logout 在 Postman 中抛出“CSRF 令牌不匹配”

    我安装了 L8 Sanctum 和 Fortify 进行身份验证 我以前可以 login 使用了Pre request Script设置X XSRF TOKEN 我什至得到了 api user成功地 但当我这样做时 logout 我在 Po
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些
  • 如何使用 PHP 从 MySQL 检索特定值?

    好吧 我已经厌倦了 过去一周我花了大部分空闲时间试图解决这个问题 我知道 SQL 中的查询已更改 但我无法弄清楚 我能找到的所有其他帖子似乎都已经过时了 如果有人能帮助我 我将非常感激 我想做的就是使用手动输入数据库的唯一 密码 来检索行的
  • PHP 文件服务脚本:下载不可靠?

    这篇文章最初是关于 ServerFault 的一个问题 https serverfault com questions 131156 user receiving partial downloads https serverfault co

随机推荐

  • 我如何访问 Intel CPU 计数器

    是否有任何小工具可以让我访问 Intel CPU 计数器收集的数据 例如 L1 L2 缓存未命中 分支预测失败 您知道现代 Core2 CPU 上有数百个此类数据 它必须在 Windows 上运行 同时能够在 Solaris FreeBSD
  • JPA 多重鉴别器值

    我们正在建立一个新项目 并决定使用 eclipselink for JPA 在创建领域模型时 我们遇到了一个问题 我们有一个称为组织的基类 我们还有供应商和客户 它们都扩展了组织 当 JPA 创建表时 我看到它使用了鉴别器 问题是供应商也可
  • 如何通过安全 FTP SSL 协议发送文件

    我感谢您就该主题提供的任何帮助 在线注册结束时 我将获取客户数据 多个字段 将它们放入 CSV 文件中 并尝试通过 SSL 协议提交给另一个客户端 但不知道这是如何完成的 我还将信息存储在本地数据库中 希望这个过程有点相似 我已经收到了来自
  • 如何从 Swift 调用 Objective-C 类的工厂方法?

    我有一个 obj c 类 它使用工厂方法将自身实例化为单例 我将该类添加到我的 Swift 桥标头中 并希望从 Swift 类调用此工厂方法 然而 XCode 不让我这么做 obj c代码是 interface MOAssistant NS
  • 生成 Rails 应用程序中使用的数据库架构的图像

    如何生成 Rails 应用程序中使用的数据库模式的图像 你有没有尝试过rake db schema dump 本质上 确保您的database yml文件正在引用您要转储的数据库 然后运行命令 它将获取所述数据库中的所有表和索引 然后将其写
  • Java 中无参构造函数和默认构造函数之间的区别

    实际上我无法理解无参数构造函数和默认构造函数之间有什么区别 import javax swing public class Test extends JFrame public Test super this setSize 200 200
  • Pygame 使用 time.sleep 等待 x 秒而不执行上面的代码

    我正在尝试在 pygame 中重新创建 Pong 并尝试根据得分者将网的颜色更改为红色或绿色 我可以在某人得分后将其保持为红色或绿色 直到另一个人得分 但是 我想在 3 秒后将网络颜色更改回黑色 我尝试使用 time sleep 3 但每当
  • 如何使用 Flask 将 JavaScript 连接到 Python 脚本?

    我用 HTML CSS 创建了一个网站 我还使用 Javascript 来处理事件 单击按钮 现在我想将 Python 脚本与其连接 更重要的是 将 Python 函数的结果返回到我的网站并在那里显示 使用 它们 考虑这样的事情 我有一个带
  • 如何创建“递归sql”

    我想建立 链接 例如 我有 5 个帖子 id 1 id 2 id 3 id 4 id 5 他们有一个序列 id 1 nextId 2 id 2 nextId 4 id 3 下一个Id 0 id 4 nextId 3 id 5 nextId
  • Azure Python SDK - 与 Azure AD 交互

    我有一个服务主体帐户 用于自动化计算和资源管理对象 不会出现任何问题 我似乎无法与之交互的是房子的 Azure AD 一侧 我正在得到一个 azure graphrbac models graph error GraphErrorExcep
  • 使用 BASH 或 awk 或 sed 或其他方式删除文件的前两行

    我试图通过不将文件打印到另一个文件来删除文件的前两行 我不是在寻找一些奇特的东西 这是我对 awk 的 失败的 尝试 awk NR gt 2 print myfile 这会抛出以下错误 awk NR gt 2 print awk synta
  • Java静态上下文

    我正在使用一个具有非静态方法调用的包 它不会让我从静态上下文中调用此方法 我无法更改非静态方法 如何调用该方法 从该类创建一个对象并调用该对象的方法 import com acme myclass MyClass obj new MyCla
  • 创建新的 Azure Cosmos DB 时缺少位置选项

    我想在我的免费 MPN 订阅下创建一个新的 Azure Cosmos DB 并希望将位置设置为 欧洲 西欧 就像我为 ResourceGroup 所做的那样 但此位置 以及许多其他位置 是无法使用 请在此处查看完整列表 https i st
  • 从 boost::filesystem::is_directory 捕获异常

    我目前正在从 boost filesystem is directory 捕获错误 并通过在异常上调用 what 向用户显示错误 这给出了失败的原因 但该错误对用户来说很奇怪 例如 boost filesystem is directory
  • 从静态库中删除所有符号是否会阻止链接?

    据我所知 链接器的工作是将目标文件中未定义的符号与静态库中定义的符号进行匹配 如果找到 正确的符号定义将包含在最终的可执行文件中 这就是所谓的符号解析 那么如果所有符号都从静态库中删除会发生什么呢 它是否会阻止链接器正确解析符号 剥离符号是
  • 在heroku上通过bundler安装linecache

    我在 Rails 3 0 应用程序上使用 RVM 并使用 Ruby 1 9 2 which ruby home ved rvm rubies ruby 1 9 2 p136 bin ruby 当我推送到heroku时 出现以下错误 Inst
  • SFTP 中出现“无法规范化:没有这样的文件或目录”错误的原因是什么?

    我正在尝试使用SFTP将整个目录上传到远程主机 但出现错误 我知道SCP确实有效 但我真的想找出SFTP的问题 我使用的命令如下 echo put r LargeFile echo quit sftp vb username remoteh
  • 实体框架 6 中自我跟踪实体的替换

    我确信大多数 NET 开发人员都必须以某种方式面对这个问题 问题很简单 我正在升级我的项目 NET 4 到 NET 4 5 1 到目前为止 升级进展顺利 但是当我从 EF4 升级到 EF6 时 我在查询中确实遇到了很多错误 其中一些与我所做
  • 有哪些工具可用于将 ipython 笔记本导出为 PDF 文件? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个格式良好的 ipython 笔记本 其中包含 Markdown 单元格之类的东西 我想知道导出为
  • Twig 访问对象

    我想访问树枝模板内对象的值 通常我会得到这样的回报 echo lang gt get test 但是我怎样才能在模板中用树枝做同样的事情呢 我尝试了很多方法 但没有一个有效 例如我尝试过 attribute lang get test 结果