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

霍恩·霍利

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

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

//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是控制器的实例。

生成类似Controller的实例是否存在问题,或者我在做什么错?

克莱门特·安德罗(Clement Andraud)

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

services.yml定义所需的控制器即服务中:

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

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

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

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

OP的注解

这个答案是完全正确的,我只想添加一些内容,所以这个答案可以100%罚款!

在将Controller更改为Service后,缺少服务容器,请在此参考此问题

要设置容器以及SF2的全部功能,您需要在service.yml中添加一行。

services:
    mail_controller:
        class: YourCompany\YourBundle\Controller\YourController
        calls:
            - [ setContainer, [ @service_container ]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

FatalErrorException:错误:在非对象symfony上调用成员函数has()

来自分类Dev

在非对象上调用成员函数get()-Symfony和Silex

来自分类Dev

Symfony 2-错误:“在*行*的非对象上调用成员函数*

来自分类Dev

Symfony登录身份验证返回错误:在非对象上调用成员函数toArray()

来自分类Dev

Symfony FOSRestBundle 错误:在 null 上调用成员函数 get()。[路由或配置错误]

来自分类Dev

错误:在数组 Symfony 3 上调用成员函数 contains()

来自分类Dev

Symfony登录表单—致命错误:在null上调用成员函数get()

来自分类Dev

Symfony 3.4 无法在测试中加载装置:错误:在 null 上调用成员函数 get()

来自分类Dev

symfony 和棘轮在 null 上调用成员函数 get()

来自分类Dev

Symfony 2 /存储库:错误:在非对象上调用了__clone方法

来自分类Dev

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

来自分类Dev

symfony2 createQueryBuilder将错误调用返回给成员函数

来自分类Dev

Symfony 2 错误:调用数组上的成员函数 andWhere()

来自分类Dev

在字符串 symfony 3.4 上调用成员函数 format()

来自分类Dev

致命错误:在非对象错误上调用成员函数prepare()

来自分类Dev

错误致命错误:在非对象上调用成员函数insert()

来自分类Dev

致命错误:在非对象错误上调用成员函数prepare()

来自分类Dev

致命错误:在非对象上调用成员函数insert()

来自分类Dev

致命错误:在非对象上调用成员函数error()

来自分类Dev

致命错误:在非对象上调用成员函数first()

来自分类Dev

错误:在非对象上调用成员函数paginate()

来自分类Dev

FatalErrorException:错误:在非对象上调用成员函数has()

来自分类Dev

致命错误在非对象PHP上调用成员函数login()

来自分类Dev

Magento致命错误:在非对象上调用成员函数addFieldToFilter()

来自分类Dev

PHP致命错误:在非对象上调用成员函数hasAttribute()

来自分类Dev

PDO致命错误-在非对象上调用成员函数prepare()

来自分类Dev

Magento致命错误:在非对象上调用成员函数save()

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

    FatalErrorException:错误:在非对象symfony上调用成员函数has()

  4. 4

    在非对象上调用成员函数get()-Symfony和Silex

  5. 5

    Symfony 2-错误:“在*行*的非对象上调用成员函数*

  6. 6

    Symfony登录身份验证返回错误:在非对象上调用成员函数toArray()

  7. 7

    Symfony FOSRestBundle 错误:在 null 上调用成员函数 get()。[路由或配置错误]

  8. 8

    错误:在数组 Symfony 3 上调用成员函数 contains()

  9. 9

    Symfony登录表单—致命错误:在null上调用成员函数get()

  10. 10

    Symfony 3.4 无法在测试中加载装置:错误:在 null 上调用成员函数 get()

  11. 11

    symfony 和棘轮在 null 上调用成员函数 get()

  12. 12

    Symfony 2 /存储库:错误:在非对象上调用了__clone方法

  13. 13

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

  14. 14

    symfony2 createQueryBuilder将错误调用返回给成员函数

  15. 15

    Symfony 2 错误:调用数组上的成员函数 andWhere()

  16. 16

    在字符串 symfony 3.4 上调用成员函数 format()

  17. 17

    致命错误:在非对象错误上调用成员函数prepare()

  18. 18

    错误致命错误:在非对象上调用成员函数insert()

  19. 19

    致命错误:在非对象错误上调用成员函数prepare()

  20. 20

    致命错误:在非对象上调用成员函数insert()

  21. 21

    致命错误:在非对象上调用成员函数error()

  22. 22

    致命错误:在非对象上调用成员函数first()

  23. 23

    错误:在非对象上调用成员函数paginate()

  24. 24

    FatalErrorException:错误:在非对象上调用成员函数has()

  25. 25

    致命错误在非对象PHP上调用成员函数login()

  26. 26

    Magento致命错误:在非对象上调用成员函数addFieldToFilter()

  27. 27

    PHP致命错误:在非对象上调用成员函数hasAttribute()

  28. 28

    PDO致命错误-在非对象上调用成员函数prepare()

  29. 29

    Magento致命错误:在非对象上调用成员函数save()

热门标签

归档