Buscar..
Introducción
Crear configuración en la aplicación / config / config.yml
amazingservice:
url: 'http://amazing.com'
client_id: 'test_client_1'
client_secret: 'test_secret'
Este es un ejemplo básico para crear la configuración en formato yml, para seguir el formato yml puede tomar una configuración más profunda.
Establecer la configuración en el paquete creado
Por ejemplo, tienes un paquete generado por la consola de Symfony. En este caso, en DependencyInjection / Configuration.php, debe insertar su representación de configuración:
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('amazingservice');
$rootNode->children()
->scalarNode('url')->end()
->scalarNode('client_id')->end()
->scalarNode('client_secret')->end()
->end()
->end();
Básicamente, en DependencyInjection / AmazingserviceExtension.php verá las siguientes líneas:
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
No es suficiente para obtener la configuración en los servicios. Tienes que llevarlo al contenedor.
$container->setParameter(
'amazingservice.config',
$config
);
En este caso, la configuración en el contenedor, entonces si su Servicio obtiene el contenedor como un parámetro de constructor:
base.amazingservice:
class: Base\AmazingBundle\Services\AmazingServices
arguments: [@service_container]
Luego, puede obtener la configuración en el servicio con el siguiente código, donde la configuración será una matriz asociativa:
private $config;
public function __construct(Container $container){
$this->config = $container->getParameter('amazingservice.config');
}