新しいコマンドラインを追加しています。クラスのパラメーター(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
通常、引数はクラスのコンストラクターにあると言われていますが、これを行うと:
public function __construct($less_compiler) {
$this->less_compiler = $less_compiler;
}
最初の引数が欠落しているという警告があります。Commandマザークラスには、コンストラクターの一意の引数として名前がありますが、私が書いたとしても:
public function __construct($name, $less_compiler) {
}
何も変わりません。
他の可能性は私のクラス内のサービスを呼び出すことです:
$service = $this->getContainer()->get('less_css_compiler');
しかし、どうすれば議論を得ることができますか?
ありがとうございました