Ricerca…
introduzione
Crea configurazione nell'app / config / config.yml
amazingservice:
url: 'http://amazing.com'
client_id: 'test_client_1'
client_secret: 'test_secret'
Questo è un esempio di base per creare la configurazione in formato yml, per seguire il formato yml è possibile effettuare una configurazione più profonda.
Imposta la configurazione nel pacchetto creato
Ad esempio hai un pacchetto, che viene generato dalla console di symfony. In questo caso in DependencyInjection / Configuration.php è necessario inserire la rappresentazione di configurazione:
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('amazingservice');
$rootNode->children()
->scalarNode('url')->end()
->scalarNode('client_id')->end()
->scalarNode('client_secret')->end()
->end()
->end();
Fondamentalmente in DependencyInjection / AmazingserviceExtension.php vedrai le seguenti linee:
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
Non è sufficiente per ottenere la configurazione in Srevices. Devi portarlo nel contenitore.
$container->setParameter(
'amazingservice.config',
$config
);
In questo caso la configurazione nel contenitore, quindi se il servizio ottiene il contenitore come parametro costruttore:
base.amazingservice:
class: Base\AmazingBundle\Services\AmazingServices
arguments: [@service_container]
Quindi è possibile ottenere la configurazione nel servizio con il seguente codice, in cui la configurazione sarà un array associativo:
private $config;
public function __construct(Container $container){
$this->config = $container->getParameter('amazingservice.config');
}