Suche…


Einführung

Dies ist eine Beschreibung, wie Sie in /app/config/config eine Konfiguration für Ihr eigenes Bundle erstellen können .{yml,xml}

Erstellen Sie die Konfiguration in app / config / config.yml

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

Dies ist ein einfaches Beispiel für das Erstellen einer Konfiguration im Yml-Format. Um dem Yml-Format zu folgen, können Sie eine genauere Konfiguration vornehmen.

Legen Sie die Konfiguration im erstellten Bundle fest

Beispielsweise haben Sie ein Bundle, das von der Symfony-Konsole generiert wird. In diesem Fall müssen Sie in der DependencyInjection / Configuration.php Ihre Konfigurationsdarstellung einfügen:

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

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

Grundsätzlich werden in der DependencyInjection / AmazingserviceExtension.php folgende Zeilen angezeigt:

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

Es reicht nicht aus, um die Konfiguration in den Spalten zu erhalten. Sie müssen es in den Behälter bringen.

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

In diesem Fall die Konfiguration im Container, also wenn Ihr Service den Container als Konstruktorparameter erhält:

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

Dann können Sie die Konfiguration im Dienst mit dem folgenden Code abrufen, wobei die Konfiguration ein assoziatives Array ist:

private $config;

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow