方法“ __construct()”具有类型提示的“可迭代”

时间:2019-11-13 14:05:59

标签: symfony-4.3

我有2个文件。

services.yaml

imports:
    - { resource: services/service_test.yaml }

services:
    _defaults:
        autowire: true
        autoconfigure: true

和service_test.yaml

services:
    _defaults:
      autowire: true
      autoconfigure: true

    App\Test\TestAbstract:
      abstract: true

    App\Test\TestA:
      parent: App\Test\TestAbstract
      autowire: false
      autoconfigure: false
      tags:
        - { name: app.test }

    App\Test\TestManager:
      arguments: [!tagged { tag: 'app.test' }]

我的类TestManager有一个构造函数

public function __construct(iterable $tests, LoggerInterface $logger)
{
    dump($tests);
    $this->logger = $logger;
}

在这种配置下,我出现错误:

Cannot autowire service "App\Test\TestManager": argument "$tests" of method "__construct()" is type-hinted "iterable", you should configure its value explicitly.

如何使用!tag获得加标签的服务?

0 个答案:

没有答案