Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github

Usando Parâmetros dentro de uma Classe de Injeção de Dependência

Você já viu como usar os parâmetros de configuração nos contêineres de serviço do Symfony. Há casos especiais, como quando você quer, por exemplo, usar o parâmetro %kernel.debug% para fazer os serviços em seu bundle entrarem no modo de depuração. Para esse caso, há mais trabalho a ser feito, a fim de fazer com que o sistema compreenda o valor do parâmetro. Por padrão, seu parâmetro %kernel.debug% será tratado como uma string simples. Veja este exemplo com o AcmeDemoBundle:

// Inside Configuration class
$rootNode
    ->children()
        ->booleanNode('logging')->defaultValue('%kernel.debug%')->end()
        // ...
    ->end()
;

// Inside the Extension class
$config = $this->processConfiguration($configuration, $configs);
var_dump($config['logging']);

Agora, examine os resultados para ver isso de perto:

A fim de suportar esse caso de uso, a classe Configuration tem que ser injetada com esse parâmetro, através de extensão, da seguinte forma:

namespace Acme\DemoBundle\DependencyInjection;

use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;

class Configuration implements ConfigurationInterface
{
    private $debug;

    public function  __construct($debug)
    {
        $this->debug = (Boolean) $debug;
    }

    public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('acme_demo');

        $rootNode
            ->children()
                // ...
                ->booleanNode('logging')->defaultValue($this->debug)->end()
                // ...
            ->end()
        ;

        return $treeBuilder;
    }
}

E definir ele no construtor de Configuration através da classe Extension:

namespace Acme\DemoBundle\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\Config\FileLocator;

class AcmeDemoExtension extends Extension
{
    // ...

    public function getConfiguration(array $config, ContainerBuilder $container)
    {
        return new Configuration($container->getParameter('kernel.debug'));
    }
}