Symfony 4. 自定义服务的参数

Symfony 4. Parameters for custom service

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

App\Service\MailService:
      someparam: somevalue

我收到错误消息 定义 App\Service\MailService 不支持配置键 someparam。 如何正确配置服务?如何读取我服务中的参数?

class MailService
{
    public function __construct()
    {
    }

}

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

服务class:

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'

阅读更多关于 Dependency Injection and autowiring in Symfony 4 projects