|
3 | 3 |
|
4 | 4 | namespace TheCodingMachine\TDBM\Bundle\DependencyInjection;
|
5 | 5 |
|
| 6 | +use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; |
6 | 7 | use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
7 | 8 | use Symfony\Component\Config\Definition\Builder\TreeBuilder;
|
8 | 9 | use Symfony\Component\Config\Definition\ConfigurationInterface;
|
9 | 10 |
|
10 | 11 | class Configuration implements ConfigurationInterface
|
11 | 12 | {
|
12 |
| - public function getConfigTreeBuilder() |
| 13 | + public function getConfigTreeBuilder(): TreeBuilder |
13 | 14 | {
|
14 | 15 | $treeBuilder = new TreeBuilder('tdbm');
|
15 | 16 | $rootNode = $treeBuilder->getRootNode();
|
| 17 | + assert($rootNode instanceof ArrayNodeDefinition); |
16 | 18 |
|
17 | 19 | $rootNodeChildren = $rootNode->children();
|
18 |
| - |
19 | 20 | $this->buildServiceNode($rootNodeChildren);
|
20 | 21 |
|
21 |
| - $rootNodeServices = $rootNodeChildren->arrayNode('databases')->arrayPrototype()->children(); |
22 |
| - $this->buildServiceNode($rootNodeServices); |
23 |
| - $rootNodeServices->end()->end()->end(); |
24 |
| - |
25 |
| - $rootNodeChildren->end(); |
| 22 | + $rootNodeDatabases = $rootNodeChildren->arrayNode('databases')->arrayPrototype()->children(); |
| 23 | + $this->buildServiceNode($rootNodeDatabases); |
26 | 24 |
|
27 | 25 | return $treeBuilder;
|
28 | 26 | }
|
29 | 27 |
|
30 | 28 | private function buildServiceNode(NodeBuilder $serviceNode): void
|
31 | 29 | {
|
32 |
| - $serviceNode |
33 |
| - ->scalarNode('dao_namespace')->defaultValue('App\\Daos')->end() |
34 |
| - ->scalarNode('bean_namespace')->defaultValue('App\\Beans')->end() |
35 |
| - ->scalarNode('connection')->defaultValue('doctrine.dbal.default_connection')->end() |
36 |
| - ->arrayNode('naming') |
37 |
| - ->addDefaultsIfNotSet() |
38 |
| - ->children() |
39 |
| - ->scalarNode('bean_prefix')->defaultValue('')->end() |
40 |
| - ->scalarNode('bean_suffix')->defaultValue('')->end() |
41 |
| - ->scalarNode('base_bean_prefix')->defaultValue('Abstract')->end() |
42 |
| - ->scalarNode('base_bean_suffix')->defaultValue('')->end() |
43 |
| - ->scalarNode('dao_prefix')->defaultValue('')->end() |
44 |
| - ->scalarNode('dao_suffix')->defaultValue('Dao')->end() |
45 |
| - ->scalarNode('base_dao_prefix')->defaultValue('Abstract')->end() |
46 |
| - ->scalarNode('base_dao_suffix')->defaultValue('Dao')->end() |
47 |
| - ->arrayNode('exceptions') |
48 |
| - ->prototype('scalar')->end() |
49 |
| - ->end() |
50 |
| - ->end() |
51 |
| - ->end(); |
| 30 | + $serviceNode->scalarNode('dao_namespace')->defaultValue('App\\Daos'); |
| 31 | + $serviceNode->scalarNode('bean_namespace')->defaultValue('App\\Beans'); |
| 32 | + $serviceNode->scalarNode('connection')->defaultValue('doctrine.dbal.default_connection'); |
| 33 | + |
| 34 | + $namingNode = $serviceNode->arrayNode('naming')->addDefaultsIfNotSet()->children(); |
| 35 | + $namingNode->scalarNode('bean_prefix')->defaultValue(''); |
| 36 | + $namingNode->scalarNode('bean_suffix')->defaultValue(''); |
| 37 | + $namingNode->scalarNode('base_bean_prefix')->defaultValue('Abstract'); |
| 38 | + $namingNode->scalarNode('base_bean_suffix')->defaultValue(''); |
| 39 | + $namingNode->scalarNode('dao_prefix')->defaultValue(''); |
| 40 | + $namingNode->scalarNode('dao_suffix')->defaultValue('Dao'); |
| 41 | + $namingNode->scalarNode('base_dao_prefix')->defaultValue('Abstract'); |
| 42 | + $namingNode->scalarNode('base_dao_suffix')->defaultValue('Dao'); |
| 43 | + $namingNode->arrayNode('exceptions')->prototype('scalar'); |
52 | 44 | }
|
53 | 45 | }
|
0 commit comments