Я добавляю новую командную строку. Я хотел бы иметь доступ к значению параметра (parameters.yml) в моем классе.
Я читал, что я должен добавить этот класс в качестве службы для доступа к параметру. Так
//config.yml
imports:
- { resource: services.yml }
//services.yml
services:
less_css_compiler:
class: MyVendor\MyBundle\Command\ThemeCommand
arguments: [%less_compiler%]
//parameters.yml
parameters:
less_compiler: WinLess.exe
говорится, что normaly аргумент находится в конструкторе класса, но если я это сделаю:
public function __construct($less_compiler) {
$this->less_compiler = $less_compiler;
}
У меня есть предупреждение о том, что первый аргумент отсутствует. В командном классе Command есть имя, а затем уникальный аргумент конструктора, но даже если я пишу:
public function __construct($name, $less_compiler) {
}
Это ничего не меняет.
Другая возможность - вызвать службу внутри моего класса:
$service = $this->getContainer()->get('less_css_compiler');
Но как мне получить аргумент?
Спасибо