我确实有一个简单的命令,构造函数需要LoggerInterface
作为依赖。
<?php
namespace App\Command;
// use (...)
class ProcessReportCommand extends Command
{
/** @var LoggerInterface */
private $logger;
public function __construct(LoggerInterface $logger)
{
parent::__construct();
$this->logger = $logger;
}
// (...)
}
services.yml
中的配置看起来非常默认:
parameters:
services:
_defaults:
autowire: true
autoconfigure: true
public: false
App\:
resource: '../src/*'
exclude: '../src/{Entity,Migrations,Exception,Tests,Kernel.php}'
App\Controller\:
resource: '../src/Controller'
tags: ['controller.service_arguments']
不幸的是我收到PHP错误,说没有注入依赖项。
PHP致命错误:未捕获 Symfony \ Component \ Debug \ Exception \ FatalThrowableError:输入错误:太多 很少有功能论据 传递了App \ Command \ ProcessReportCommand :: __ construct(),0 / home / tomasz / project / bin / console在第40行,正好是1 /home/tomasz/project/src/Command/ProcessReportCommand.php:17
即使我将此依赖项切换到App\
下的任何其他类,它的行为总是那样。
我完全不知道我应该做些什么才能让它发挥作用,即使是明确包含services.yml
内部服务的那些方式也不适用于我。有线索吗?
答案 0 :(得分:1)
php bin/console cache:clear
。
如果这不起作用,php bin/console debug:container Process
的输出是什么?