Aggiungo una nuova riga di comando. Mi piacerebbe avere accesso al valore di un parametro (parameters.yml) nella mia classe.Parametro di accesso dalla classe di comando
Ho letto che dovrei aggiungere questa classe come servizio per avere accesso al parametro. Così
//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
si dice che normalmente l'argomento è in il costruttore della classe, ma se faccio questo:
public function __construct($less_compiler) {
$this->less_compiler = $less_compiler;
}
Ho un avvertimento che dice che manca il primo argomento. Nella classe madre di comando c'è un nome come argomento allora unico del costruttore, ma anche se scrivo:
public function __construct($name, $less_compiler) {
}
Non cambia nulla ..
Altra possibilità è quella di chiamare il servizio all'interno della mia classe :
$service = $this->getContainer()->get('less_css_compiler');
Ma come si ottiene l'argomento?
Grazie
è veramente pulito per creare un servizio solo per avere accesso a un parametro in parameters.yml ... forse c'è un altro modo allora ma usando un servizio? – mlwacosmos
ovviamente sì, $ this-> getContainer() -> getParameter ('nome parametro'); – Venu