无法自动装配 (...) 它引用 class "WSDL\WSDLCreator" 但不存在此类服务

Cannot autowire (...) it references class "WSDL\WSDLCreator" but no such service exists

我安装了软件包 composer require georgo/wsdl-creator

我想使用的文件路径是:vendor/georgo/wsdl-creator/src/WSDL/WSDLCreator.php

在这个文件中它有命名空间和 class:

namespace WSDL;

class WSDLCreator
{
...

vendor/georgo/wsdl-creator/composer.josn 有以下代码:

"autoload": {
    "psr-0": {
      "WSDL\": "src/",

在我的控制器中,我使用了 class:use WSDL\WSDLCreator;

然后我想用它public function createWSDL(WSDLCreator $WSDLCreator){...}

然后发生异常:

Cannot autowire argument $WSDLCreator of "App\Controller\SOAPController::createWSDL()": it references class "WSDL\WSDLCreator" but no such service exists.

我试图用额外的“WSDL”修改 composer.json,因为“src”之后有“WSDL”文件夹:

"WSDL\": "src/WSDL"

多次清除缓存后出现同样的异常。

请帮忙。

我添加了记录到services.yaml

WSDL\WSDLCreator:
        autowire: true

它现在可以工作但是产生了明显的问题,因为第三方包不是服务并且它们在构造函数中没有类型提示,在这种情况下 WSDLCreator 甚至不是一个包。

要使用这个包,我必须在我的方法中创建一个新对象 new WSDLCreator()