* * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace Sensio\Bundle\FrameworkExtraBundle\DependencyInjection; use Symfony\Component\Config\Definition\Builder\TreeBuilder; use Symfony\Component\Config\Definition\ConfigurationInterface; use Symfony\Component\Config\Definition\NodeInterface; /** * FrameworkExtraBundle configuration structure. * * @author Henrik Bjornskov */ class Configuration implements ConfigurationInterface { /** * Generates the configuration tree. * * @return NodeInterface */ public function getConfigTreeBuilder() { $treeBuilder = new TreeBuilder(); $rootNode = $treeBuilder->root('sensio_framework_extra', 'array'); $rootNode ->children() ->arrayNode('router') ->addDefaultsIfNotSet() ->children() ->booleanNode('annotations')->defaultTrue()->end() ->end() ->end() ->arrayNode('request') ->addDefaultsIfNotSet() ->children() ->booleanNode('converters')->defaultTrue()->end() ->booleanNode('auto_convert')->defaultTrue()->end() ->end() ->end() ->arrayNode('view') ->addDefaultsIfNotSet() ->children() ->booleanNode('annotations')->defaultTrue()->end() ->end() ->end() ->arrayNode('cache') ->addDefaultsIfNotSet() ->children() ->booleanNode('annotations')->defaultTrue()->end() ->end() ->end() ->arrayNode('security') ->addDefaultsIfNotSet() ->children() ->booleanNode('annotations')->defaultTrue()->end() ->scalarNode('expression_language')->defaultValue('sensio_framework_extra.security.expression_language.default')->end() ->end() ->end() ->arrayNode('psr_message') ->addDefaultsIfNotSet() ->children() ->booleanNode('enabled')->defaultValue(interface_exists('Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface') && class_exists('Zend\Diactoros\ServerRequestFactory'))->end() ->end() ->end() ->arrayNode('templating') ->fixXmlConfig('controller_pattern') ->children() ->arrayNode('controller_patterns') ->prototype('scalar') ->end() ->end() ->end() ->end() ; return $treeBuilder; } }