public function configureException(ContainerBuilder $container, array $config)
    {
        // retrieve available filters
        $filters = [];
        foreach ($config['exception']['filters'] as $name => $filter) {
            $filters[$name] = $filter;
        }

        // retrieve available renderers
        $renderers = [];
        foreach ($config['exception']['renderers'] as $name => $renderer) {
            $renderers[$name] = $renderer;
        }

        // retrieve block customization
        $blockFilters = [];
        $blockRenderers = [];
        foreach ($config['blocks'] as $service => $settings) {
            if (isset($settings['exception'], $settings['exception']['filter'])) {
                $blockFilters[$service] = $settings['exception']['filter'];
            }
            if (isset($settings['exception'], $settings['exception']['renderer'])) {
                $blockRenderers[$service] = $settings['exception']['renderer'];
            }
        }

        $definition = $container->getDefinition('sonata.block.exception.strategy.manager');
        $definition->replaceArgument(1, $filters);
        $definition->replaceArgument(2, $renderers);
        $definition->replaceArgument(3, $blockFilters);
        $definition->replaceArgument(4, $blockRenderers);

        // retrieve default values
        $defaultFilter = $config['exception']['default']['filter'];
        $defaultRenderer = $config['exception']['default']['renderer'];
        $definition->addMethodCall('setDefaultFilter', [$defaultFilter]);
        $definition->addMethodCall('setDefaultRenderer', [$defaultRenderer]);
    }
public function configureException(ContainerBuilder $container, array $config)
    {
        // retrieve available filters
        $filters = [];
        foreach ($config['exception']['filters'] as $name => $filter) {
            $filters[$name] = $filter;
        }

        // retrieve available renderers
        $renderers = [];
        foreach ($config['exception']['renderers'] as $name => $renderer) {
            $renderers[$name] = $renderer;
        }

        // retrieve block customization
        $blockFilters = [];
        $blockRenderers = [];
        foreach ($config['blocks'] as $service => $settings) {
            if (isset($settings['exception'], $settings['exception']['filter'])) {
                $blockFilters[$service] = $settings['exception']['filter'];
            }
            if (isset($settings['exception'], $settings['exception']['renderer'])) {
                $blockRenderers[$service] = $settings['exception']['renderer'];
            }
        }

        $definition = $container->getDefinition('sonata.block.exception.strategy.manager');
        $definition->replaceArgument(1, $filters);
        $definition->replaceArgument(2, $renderers);
        $definition->replaceArgument(3, $blockFilters);
        $definition->replaceArgument(4, $blockRenderers);

        // retrieve default values
        $defaultFilter = $config['exception']['default']['filter'];
        $defaultRenderer = $config['exception']['default']['renderer'];
        $definition->addMethodCall('setDefaultFilter', [$defaultFilter]);
        $definition->addMethodCall('setDefaultRenderer', [$defaultRenderer]);
    }
public function configureException ( ContainerBuilder $ container , array $ config ) { // retrieve available filters $ filters = [ ] ; foreach ( $ config [ 'exception' ] [ 'filters' ] as $ name => $ filter ) { $ filters [ $ name ] = $ filter ; } // retrieve available renderers $ renderers = [ ] ; foreach ( $ config [ 'exception' ] [ 'renderers' ] as $ name => $ renderer ) { $ renderers [ $ name ] = $ renderer ; } // retrieve block customization $ blockFilters = [ ] ; $ blockRenderers = [ ] ; foreach ( $ config [ 'blocks' ] as $ service => $ settings ) { if ( isset ( $ settings [ 'exception' ] , $ settings [ 'exception' ] [ 'filter' ] ) ) { $ blockFilters [ $ service ] = $ settings [ 'exception' ] [ 'filter' ] ; } if ( isset ( $ settings [ 'exception' ] , $ settings [ 'exception' ] [ 'renderer' ] ) ) { $ blockRenderers [ $ service ] = $ settings [ 'exception' ] [ 'renderer' ] ; } } $ definition = $ container -> getDefinition ( 'sonata.block.exception.strategy.manager' ) ; $ definition -> replaceArgument ( 1 , $ filters ) ; $ definition -> replaceArgument ( 2 , $ renderers ) ; $ definition -> replaceArgument ( 3 , $ blockFilters ) ; $ definition -> replaceArgument ( 4 , $ blockRenderers ) ; // retrieve default values $ defaultFilter = $ config [ 'exception' ] [ 'default' ] [ 'filter' ] ; $ defaultRenderer = $ config [ 'exception' ] [ 'default' ] [ 'renderer' ] ; $ definition -> addMethodCall ( 'setDefaultFilter' , [ $ defaultFilter ] ) ; $ definition -> addMethodCall ( 'setDefaultRenderer' , [ $ defaultRenderer ] ) ; }
Configure the exception parameters.

@param ContainerBuilder $container Container builder
@param array            $config    An array of configuration
Configure the exception parameters .