我正在添加一个新的命令行。我想在我的类中访问参数(parameters.yml)的值。
我读到我应该将此类添加为服务以访问参数。所以
//config.yml
imports:
- { resource: services.yml }
//服务.yml
services:
less_css_compiler:
class: MyVendor\MyBundle\Command\ThemeCommand
arguments: [%less_compiler%]
//参数.yml
parameters:
less_compiler: WinLess.exe
据说通常参数在类的构造函数中,但如果我这样做:
public function __construct($less_compiler) {
$this->less_compiler = $less_compiler;
}
我有一个警告说缺少第一个参数。在 Command 母类中,有一个名称作为构造函数的唯一参数,但即使我写:
public function __construct($name, $less_compiler) {
}
它不会改变任何东西..
其他可能性是在我的班级内调用服务:
$service = $this->getContainer()->get('less_css_compiler');
但我如何得到论点?
谢谢