首页 > 解决方案 > Symfony 4. 自定义服务的参数

问题描述

我创建了一个服务 MailService。服务配置的正确位置在哪里?是文件 services.yml 吗?如果我写

App\Service\MailService:
      someparam: somevalue

我收到错误消息 The configuration key someparamis unsupported for definition App\Service\MailService。如何正确配置服务?如何阅读我的服务中的参数?

class MailService
{
    public function __construct()
    {
    }

}

标签: symfony4

解决方案


您可以通过构造函数参数和正确的服务配置传递一些数据:

服务等级:

class MailService
{
    private $adminEmail;

    private $adminName;

    public function __construct($adminEmail, $adminName)
    {
        $this->adminEmail = $adminEmail;
        $this->adminName = $adminName;
    }

}

服务配置:

App\Service\MailService:
    arguments:
        $adminEmail: 'manager@example.com'
        $adminName: 'Admin Name'

阅读更多关于Symfony 4 项目中的依赖注入和自动装配


在此处输入图像描述


推荐阅读