Configuration   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 15
Bugs 2 Features 5
Metric Value
wmc 1
c 15
b 2
f 5
lcom 0
cbo 3
dl 0
loc 48
ccs 0
cts 36
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B getConfigTreeBuilder() 0 40 1
1
<?php
2
3
namespace Jns\Bundle\XhprofBundle\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
6
use Symfony\Component\Config\Definition\ConfigurationInterface;
7
use Symfony\Component\Config\Definition\NodeInterface;
8
9
/**
10
 * This class contains the configuration information for the bundle
11
 *
12
 * This information is solely responsible for how the different configuration
13
 * sections are normalized, and merged.
14
 *
15
 * @author Alex Kleissner <[email protected]>
16
 */
17
class Configuration implements ConfigurationInterface
18
{
19
    /**
20
     * Generates the configuration tree builder.
21
     *
22
     * @return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
23
     */
24
    public function getConfigTreeBuilder()
25
    {
26
        $treeBuilder = new TreeBuilder();
27
        $rootNode = $treeBuilder->root('jns_xhprof');
28
29
        $rootNode
30
            ->children()
31
            ->scalarNode('location_web')->defaultValue('http://xhprof')->end()
32
            ->scalarNode('manager_registry')->defaultValue('doctrine')->end()
33
            ->scalarNode('entity_manager')->defaultValue('default')->end()
34
            ->scalarNode('entity_class')->defaultValue(null)->end()
35
            ->scalarNode('enable_xhgui')->defaultFalse()->end()
36
            ->arrayNode('exclude_patterns')->prototype('scalar')->end()->end()
37
            ->scalarNode('sample_size')->defaultValue(1)->end()
38
            ->scalarNode('enabled')->defaultFalse()->end()
39
            ->scalarNode('require_extension_exists')->defaultTrue()->end()
40
            ->scalarNode('skip_builtin_functions')->defaultFalse()->end()
41
            ->scalarNode('request_query_argument')->defaultFalse()->end()
42
            ->scalarNode('response_header')->defaultValue('X-Xhprof-Url')->end()
43
            ->enumNode('command')
44
            ->values(array('on', 'option', 'off'))
45
            ->defaultValue('option')
46
            ->info('on: Always profile, off: Never profile, option: only profile if option specified in command_option_name is given.')
47
            ->end()
48
            ->scalarNode('command_option_name')
49
            ->defaultValue('xhprof')
50
            ->info('If "command" is set to "option", this is the name of the additional option that all commands get.')
51
            ->end()
52
            ->arrayNode('command_exclude_patterns')
53
            ->prototype('scalar')->end()
54
            ->beforeNormalization()
55
            ->ifTrue(function($v) { return $v === null; })
56
            ->then(function($v) { return array(); })
0 ignored issues
show
Unused Code introduced by
The parameter $v is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
57
            ->end()
58
            ->info('List of regular expressions to match commands that are not profiled.')
59
            ->end()
60
            ->end();
61
62
        return $treeBuilder;
63
    }
64
}
65