我正在尝试在services.yaml中使用导入功能,将一些服务定义移到单独的文件中。您可以在Symfony文档中找到此信息。
但是当我尝试这样做时,我会遇到以下错误:
并且
如果我将参数和服务移动到services.yaml,这会很顺利运作。 有人知道我做错了什么吗?
但是当我尝试这样做时,我会遇到以下错误:
以下是我的配置文件:无法自动装配服务“App\Domain\Test\Test”:方法“__construct()”的参数“$param”必须具有类型提示或明确给出一个值。
# services.yaml
imports:
- { resource: services/test.yaml }
services:
_defaults:
autowire: true
autoconfigure: true
public: false
App\:
resource: '../src/*'
exclude: '../src/{Entity,Migrations,Tests,Kernel.php}'
App\Controller\:
resource: '../src/Controller'
tags: ['controller.service_arguments']
并且
# test.yaml
parameters:
param: 'some param'
services:
App\Domain\Test\Test:
public: true
autowire: true
arguments:
$param: '%param%'
以下是服务内容:
namespace App\Domain\Test;
class Test
{
private $mailer;
private $param;
public function __construct(\Swift_Mailer $mailer, string $param)
{
$this->mailer = $mailer;
$this->param = $param;
}
}
如果我将参数和服务移动到services.yaml,这会很顺利运作。 有人知道我做错了什么吗?