수색…


소개

다음은 /app/config/config./yml/xml에 자신의 번들 구성을 만드는 방법에 대한 설명입니다.

app / config / config.yml에서 구성 만들기

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

이것은 yml 형식을 따르는 yml 형식의 구성 만들기에 대한 기본 예제입니다. 더 깊은 구성을 취할 수 있습니다.

생성 된 번들에 config를 설정하십시오.

예를 들어 symfony 콘솔에 의해 생성 된 번들이 있습니다. 이 경우 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();

기본적으로 DependencyInjection / AmazingserviceExtension.php에는 다음과 같은 내용이 표시됩니다.

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

Srevices에서 구성을 가져 오는 것만으로는 충분하지 않습니다. 그것을 용기에 넣어야합니다.

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

이 경우 컨테이너의 설정이므로 컨테이너가 생성자 매개 변수로 컨테이너를 가져 오는 경우 :

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

그런 다음 구성이 연관 배열이 될 다음 코드를 사용하여 서비스에서 구성을 가져올 수 있습니다.

private $config;

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


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow