У меня есть простая команда с конструктором, требующим 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: Uncaught
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
не работает для меня Есть какие-нибудь подсказки?
Вы очистили чай? php bin/console cache:clear
,
Если это не сработает, каковы результаты php bin/console debug:container Process
?
Других решений пока нет …