新しいコマンドラインを追加します。 私はクラスのパラメータ(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;
}
最初の引数がないという警告があります。コマンド・マザークラスであり、コンストラクタの後、独自の引数として名前があるが、私は書くにもかかわらず:
public function __construct($name, $less_compiler) {
}
それは何も変わりません。..
他の可能性は、私のクラス内のサービスを呼び出すことです:
$service = $this->getContainer()->get('less_css_compiler');
しかし、どのように引数を取得できますか?
は
$this->getContainer()->getParameter('parameter_name');
または
あなたは別々のサービスクラスを作成する必要があり、コマンドがContainerAwareCommandを拡張させ、あなたに
parameters.ymlのパラメータにアクセスするだけのサービスを作成するのは本当にクリーンです...別の方法がありますが、サービスを使用していますか? – mlwacosmos
もちろんもちろん、$ this-> getContainer() - > getParameter( 'パラメータ名'); – Venu