Zoeken…
Invoering
Maak een configuratie in de app / config / config.yml
amazingservice:
url: 'http://amazing.com'
client_id: 'test_client_1'
client_secret: 'test_secret'
Dit is een basisvoorbeeld voor het maken van een configuratie in yml-indeling, voor het volgen van de yml-indeling kunt u een diepere configuratie gebruiken.
Stel de configuratie in de gemaakte bundel in
U hebt bijvoorbeeld een bundel die wordt gegenereerd door de symfony-console. In dit geval moet u in de DependencyInjection / Configuration.php uw configuratieweergave invoegen:
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('amazingservice');
$rootNode->children()
->scalarNode('url')->end()
->scalarNode('client_id')->end()
->scalarNode('client_secret')->end()
->end()
->end();
In principe zie je in de DependencyInjection / AmazingserviceExtension.php de volgende regels:
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
Het is niet voldoende om de configuratie in de Srevices te krijgen. Je moet het in de container nemen.
$container->setParameter(
'amazingservice.config',
$config
);
In dit geval de configuratie in de container, dus als uw Service de container als constructorparameter krijgt:
base.amazingservice:
class: Base\AmazingBundle\Services\AmazingServices
arguments: [@service_container]
Vervolgens kunt u de configuratie in de service krijgen met de volgende code, waarbij de configuratie een associatieve array is:
private $config;
public function __construct(Container $container){
$this->config = $container->getParameter('amazingservice.config');
}