У меня есть проект, использующий Symfony 3.4+.Компонент Translator хорошо работает.Я могу использовать его в объекте Command в методе execute, но не могу использовать его в методе configure.Переводчик имеет значение null.
class TestCommand extends Command
{
/**
* Translator.
*
* @var TranslatorInterface
*/
protected $translator;
/**
* DownloadCommand constructor.
*
* @param TranslatorInterface $translator
*/
public function __construct(TranslatorInterface $translator)
{
parent::__construct();
$this->translator = $translator;
}
protected function configure()
{
dump($this->translator);
$this
->setName('app:test')
->setDescription('Test command description.')
->setHelp('Test command help.');
//I cannot write $this->setHelp($this->translation->trans('...'));
//because translator is still null
}
/**
* Execute the command.
*
* @param InputInterface $input
* @param OutputInterface $output
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output): ?int
{
$output->writeln($this->translator->trans('command.test.translation'));
return 0;
}
}
Вот вывод:
C: \ test> php bin / console app: test
command.test в порядкепереведено
TestCommand.php в строке 48: null
Почему интерфейс переводчика не инициализируется в методе настройки?
Какинициализировать интерфейс переводчика в методе configure?