2

我正在使用 symfony2,我使用一项服务根据系统的某些操作通知我的用户。好吧,它在我的本地环境中运行良好,现在在生产中我遇到了一些问题。

该服务在 services.txt 上作为:

mybundle.notify:
    class: NC8Digital\CRMBundle\Services\Notify
    arguments: [ @doctrine.orm.entity_manager, @templating, @mailer ]

并且该类被声明为

public function __construct(EntityManager $em, TimedTwigEngine $templating, \Swift_Mailer $mailer)

我收到了这个错误:

PHP Catchable fatal error:  Argument 2 passed to NC8Digital\\CRMBundle\\Services\\Notify::__construct() must be an instance of Symfony\\Bundle\\TwigBundle\\Debug\\TimedTwigEngine, instance of Symfony\\Bundle\\TwigBundle\\TwigEngine given, called in /mypath/app/cache/prod/appProdProjectContainer.php on line 367 and defined in /mypath/src/NC8Digital/CRMBundle/Services/Notify.php on line 43

我尝试的第一件事是更改我的构造函数来解决问题……我的浏览器出现 500 错误,所以我改回来了。

4

1 回答 1

4

用 类型提示第二个参数Symfony\Bundle\FrameworkBundle\Templating\EngineInterface

于 2012-11-01T06:27:11.183 回答