Symfony 2 错误:调用非对象上的成员函数 get()

2023-12-13

我查找了一些解决方案,但没有找到适合我的问题的解决方案。

在一个控制器中我创建另一个控制器的实例

//Controller1
$mailController = new MailController();
$mailController->newCommentMail($entity, $em);

在 MailController 中我想生成一个 URL 并发送一封电子邮件

$url = $this->generateUrl('path', array('turnId' => $data->getPoi()->getId(), 'poiId' => $data->getPoi()->getTurn()->getId()));
$this->get('mailer')->send($mail);

这两行抛出以下错误:

Error: Call to a member function get() on a non-object

但我的 IDE 表明$this是控制器的一个实例。

生成这样的控制器实例是否存在问题或者我做错了什么?


您可以将控制器定义为服务,然后将其获取到另一个控制器中。

In your services.yml将所需的控制器定义为服务:

services:
    your_service_name:
        class: YourCompany\YourBundle\Controller\YourController

然后在任何控制器中,您都可以通过容器获取此服务:

$yourController = $this->get('your_service_name');

有一些有用的信息控制器即服务在文档中

OP 的注释

这个答案是完全正确的,我只是想添加一些东西,这样这个答案就可以100%正常工作!

当我将控制器更改为服务后,服务容器丢失,参考这个问题在这里.

要设置容器并使用 SF2 的完整功能,您需要向 service.yml 添加一行

services:
    mail_controller:
        class: YourCompany\YourBundle\Controller\YourController
        calls:
            - [ setContainer, [ @service_container ]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony 2 错误:调用非对象上的成员函数 get() 的相关文章

  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 为 Symfony 指定备用后备路径以查找捆绑包的树枝模板

    基本问题 如何让 symfony 在非标准目录中查找 最佳 自定义 Twig 模板来加载捆绑视图 Symfony 文档说默认情况下它会在两个位置查找覆盖 Twig 模板 http symfony com doc current book t
  • 如何在 Symfony2 WebTestCase 中重定向后获取当前 URL?

    使用 Symfony2 WebTestCase 我进行了以下测试 client gt request GET this gt assertTrue client gt getResponse instanceof RedirectRespo
  • 将“php”作为 shell 脚本执行时的自定义 php.ini 文件

    我在跑php作为 shell 脚本 我不确定 shell脚本 是否正确 该文件以 usr bin php 这很好用 但 MongoDB 类没有正确加载php ini文件 具有extension mongo so 未使用 我该如何使用它tha
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • jQuery Mobile 表单验证

    我有一个移动网站 除了验证之外一切都工作正常 基本上我希望从用户那里获取值 然后在单独的页面 process php 上处理它们 但是 在这样做之前 我需要检查以确保字段已填充 我已经研究了几种方法来做到这一点 但似乎没有一种有效 我现在有
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账

随机推荐

  • 将本地 PDF 文件加载到 WebView 中

    我正在尝试将以下功能放入我正在编写的 iOS 应用程序中 在 XCode 中的项目的资源文件夹中发送一组 PDF 将 PDF 复制到应用程序目录 在网络视图中打开 PDF 据我所知 前两个步骤工作正常 我在复制操作后使用 FileManag
  • 使用 WPF WriteableBitmap.BackBuffer 绘制线条

    您是否知道任何库提供使用 WPF WriteableBitmap 和理想情况下 BackBuffer 绘制简单形状 线条和可选的其他形状 的方法 我知道有一个针对 silverlight 的 WriteableBitmapEx 项目 但是有
  • 如何使用 VBA 代码添加新电子表格

    我正在创建一个宏 宏的部分功能是让 VBA 创建一个新的电子表格 由于发行的性质 名称将会改变 我需要向此电子表格添加代码 无论如何我可以做到这一点吗 乔克已经解释了它是如何工作的 我会更进一步 添加工作表的语法是 expression A
  • /YYYY/MM/Title-Slug URL 结构与Friendly_Id 解决方案在#edit 上阻塞

    根据我得到的指导先前的问题在解决我的实现 YYYY MM Slug URL 结构的原始问题 我希望得到一些帮助来解决我在尝试编辑帖子时收到的错误 没有路由匹配 PATCH blog 2015 09 example post blog 201
  • 如何在android jdk中动态地用ImageView填充TableLayout?

    I ve a TableLayout我的元素main xml
  • ajax文件上传

    我正在努力在不重新加载页面的情况下上传 处理和显示文件 我该如何使用 jquery 将文件正确发布到服务器
  • AJAX:如何在单击按钮时更改客户端和服务器端的值?

    在接下来的SSCCE中 我有一个字符串 其中包含三个的 HTMLdivs I add a style display none 归因于所有div除了第一个之外 我给所有的按钮添加了一个按钮divs除了最后一个 并添加一个JSonclick事
  • 如何在8086汇编中生成随机数? [复制]

    这个问题在这里已经有答案了 我想知道是否有使用汇编生成随机数的例程或指令 在 8086 上 任何帮助将不胜感激 最常见的方法是使用时间戳 在 32 位模式下可以通过以下方式完成rdtsc指令 在16位模式下 使用BIOS中断1A的功能0 因
  • 如何对多维字典中的值求和?

    通常我会使用 sum dict A values 来对字典中带有键 A 的所有值求和 然而 在这种情况下 我想要求和的不是 主 键的所有值 而是 辅助 子键 具有特定名称的所有值 让我在下面展示一个简化的例子 dict A val1 3 v
  • 如何在 SwiftUI ForEach 内容中将多个按钮操作分开?

    我有一个带有复选框 标题和计时器图标的项目列表 复选框是一个按钮 计时器图标是一个具有与其关联的独特操作的按钮 但是 如果我点击单元格内的任何位置 它会同时触发两个按钮操作 它们的目的是彼此独立运行以及单元中的水龙头独立运行 如何修改以下代
  • 使用布尔掩码有效地将 numpy 数组的元素归零

    所以我创建了一个超慢的版本 arr np arange 3 9 reshape 3 9 print arr to black np random choice a False True size 9 for i j in enumerate
  • 在python中分隔克拉A

    我有以下形式的数据 37101000ssd48800 A1420asd938987 A2011 09 10 A18 47 50 000 A99 00 A1 A0 A 37101000sd48801 A44557asd03082 A2011
  • iOS 13 - 当搜索主动推送到其他 VC 时,该 VC UITableView 会位于 Swift 4 中的导航栏下方

    我已经在 iOS 12 中检查过它工作正常 问题是当我要搜索并推送到第二个 VC 时它工作正常 当我来回推到第二个 VC 时 UITableview 就会进入导航栏下方 正常推送工作正常 仅在搜索活动并第二次推送时出现问题 我已经尝试过下面
  • Google Dataflow / Apache Beam Python - PCollection 的侧面输入会降低性能

    我们正在使用 Python SDK 在 google 数据流中运行日志文件解析作业 数据分布在数百个每日日志中 我们通过云存储中的文件模式读取这些日志 所有文件的数据量约为 5 8 GB gz 文件 总共 50 8000 万行 loglin
  • 单个脚本可以在 Windows 批处理和 Linux Bash 中运行吗?

    是否可以编写一个在 Windows 视为 bat 和 Linux 通过 Bash 中执行的脚本文件 我知道两者的基本语法 但不明白 它可能会利用一些 Bash 的晦涩语法或一些 Windows 批处理器故障 要执行的命令可能只是一行来执行其
  • 在循环 x86-64 程序集之前和内部使用 printf

    我无法弄清楚如何在此函数中正确使用 printf 因此该函数称为 multInts 应该将第一个数组的第一个元素与第二个数组的第一个元素相乘 然后继续遍历整个数组 但是 实验说明指定我不能在主函数中调用 printf 因此 我需要打印出 P
  • 摩托罗拉手机上的谷歌地图出现故障

    在摩托罗拉 Bravo 上 地图视图的左下角有一个丑陋的橙色方块 而不是谷歌徽标 我不仅在我的应用程序上注意到这一点 而且在 Yelp 上也注意到了这一点 请参阅屏幕截图 有其他人看到过这个吗 有解决方法吗 我不知道它是否发生在其他摩托罗拉
  • 连接/处理脚本到 PySimpleGUI 按钮

    你们能帮助我知道如何连接 PySimpleGui 脚本中的按钮 该按钮将在按下 单击运行按钮时执行另一个 python 脚本 现在 我一直在 GUI 脚本中阅读有关 Subprocess 和 command os popen 的内容 lay
  • 如何杀死一段时间内没有输出的进程

    我编写了一个程序 该程序应该运行很长时间 并将进度输出到stdout但是 在某些情况下 它开始挂起 最简单的方法就是重新启动它 我的问题是 有没有办法做一些事情 只有在特定秒数内没有输出时才会终止进程 我开始思考这个问题 唯一想到的就是这样
  • Symfony 2 错误:调用非对象上的成员函数 get()

    我查找了一些解决方案 但没有找到适合我的问题的解决方案 在一个控制器中我创建另一个控制器的实例 Controller1 mailController new MailController mailController gt newComme