Sök…


Introduktion

Detta är en beskrivning av hur du kan skapa konfiguration för ditt eget paket i /app/config/config.{yml,xml}

Skapa konfiguration i appen / config / config.yml

amazingservice:
    url: 'http://amazing.com'
    client_id: 'test_client_1'
    client_secret: 'test_secret'

Detta är ett grundläggande exempel för att skapa konfiguration i yml-format, för att följa yml-formatet kan du ta djupare konfiguration.

Ställ in konfigureringen i det skapade paketet

Till exempel har du ett paket, som genereras av symfonikonsolen. I detta fall måste du infoga din konfigurationsrepresentation i DependencyInjection / Configuration.php:

$treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('amazingservice');

        $rootNode->children()
            ->scalarNode('url')->end()
            ->scalarNode('client_id')->end()
            ->scalarNode('client_secret')->end()
            ->end()
        ->end();

I DependencyInjection / AmazingserviceExtension.php ser du följande rader:

$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);

Det räcker inte för att få konfigurationen i Srevices. Du måste ta den in i behållaren.

$container->setParameter(
  'amazingservice.config',
  $config
);

I detta fall konfigureringen i behållaren, så om din tjänst får behållaren som en konstruktörsparameter:

base.amazingservice:
        class: Base\AmazingBundle\Services\AmazingServices
        arguments: [@service_container]

Sedan kan du få konfigurationen i tjänsten med följande kod, där konfigurationen är en associerande matris:

private $config;

public function __construct(Container $container){
  $this->config = $container->getParameter('amazingservice.config');   
}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow