我正在尝试将一些细枝视图作为定制邮件服务的模板注入,这将被另一个服务用作依赖项。
我不明白为什么,但好像Symfony没有看到我试图在$parameters中注入的参数。
将此服务数组作为参数注入的正确方法是什么?
以下是services.yaml部分:
parameters:
locale: 'en'
template: '%fos_user.registration.confirmation.template%'
resetting: '%fos_user.resetting.email.template%'
from_email: 'somemail@mail.com'
confirmation: '%fos_user.registration.confirmation.from_email%'
resetting_password: '%fos_user.resetting.email.from_email%'
services:
user.mailer.rest:
class: App\Mailer\RestMailer
public: false
parent: fos_user.mailer.twig_swift
autoconfigure: false
autowire: true
arguments:
$parameters:
- '@template'
- '@resetting'
RestMailer服务构造函数:
php prettyprint-override">public function __construct(\Swift_Mailer $mailer, UrlGeneratorInterface $router, \Twig_Environment $twig, array $parameters)
{
$this->mailer = $mailer;
$this->router = $router;
$this->twig = $twig;
$this->parameters = $parameters;
}
public function sendConfirmationEmailMessage(UserInterface $user)
{
$template = $this->parameters['template']['confirmation'];
//...
以下是返回的错误:
在DefinitionErrorExceptionPass.php第54行中:
无法自动连线服务“App\Mailer\RestMailer”:参数“$parameters”
您已经在services.yml中配置了吗?
如果要使用config.yml中的参数,必须在services.yml中设置以使用/调用参数。
在我的symfony4项目中,我在/src/Blocks/Hello/HelloBlock中创建了一个HelloBlock类。php文件。 这是它的构造函数... 然后在我的services.yaml我添加了这个... 运行代码(开发环境、缓存清除等)时,出现“参数太少”错误。这不是注入依赖性。 有人能帮忙吗?我以为这就是Symfony DI应该做的。 谢谢
问题内容: 我需要将两个对象注入。其中一个是的实例,我得到这样的信息: 那么如何在我的services.yml中声明呢?这是服务: 问题答案: 我找到了此链接,这对我有用:
问题内容: 我已经创建了自己的服务,并且需要注入原则EntityManager,但是我没有看到在我的服务上被调用,并且注入不起作用。 这是代码和配置: 这是我的包 我已经将.yml导入了我的应用中 当我在控制器中致电服务时 我得到一个对象(不为null),但是在UserService中为null,正如我已经提到的,从未调用过UserService上的构造函数 还有一件事,Controller和Us
我已经创建了自己的服务,需要注入doctrine EntityManager,但我看不到在我的服务上调用了,注入也不起作用。 以下是代码和配置: 这是我的包中的 我已经导入了. yml在在我的应用程序中 当我在控制器中调用服务时 我得到一个对象(不是null),但是
我想在构造函数中使用Request类,这是我想运行服务器时它给我的错误: 无法自动连接服务"AppBundle\Controller\DetectServiceDetailController":方法"__construct()"引用类"Symfony\Component\HttpFoundation\Request"的参数"$ask",但不存在这样的服务。它不能自动注册,因为它来自不同的根命名空
我有一个Angular2项目2.0.0,在试图加载该项目时,浏览器中出现了以下错误: 误差 Metadata_Resolver.js:508未捕获错误:无法解析CustomerService:(AngularFireDatabase,?,Token_FirebaseApp)的所有参数。(…)CompileMetadataResolver.getDependenciesMetadata@metada