PUGX/shortid-doctrine-bundle

View on GitHub
src/DependencyInjection/Configuration.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace PUGX\Shortid\Doctrine\Bundle\DependencyInjection;

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

final class Configuration implements ConfigurationInterface
{
    public function getConfigTreeBuilder(): TreeBuilder
    {
        $treeBuilder = new TreeBuilder('pugx_shortid_doctrine');
        /** @var \Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition $rootNode */
        $rootNode = \method_exists($treeBuilder, 'getRootNode') ? $treeBuilder->getRootNode() : $treeBuilder->root('pugx_shortid_doctrine');
        $rootNode
            ->children()
                ->arrayNode('global_config')
                    ->children()
                        ->scalarNode('length')
                            ->defaultValue(7)
                        ->end()
                        ->scalarNode('alphabet')
                            ->defaultNull()
                        ->end()
                        ->booleanNode('readable')
                            ->defaultFalse()
                        ->end()
                    ->end()
                ->end()
            ->end()
        ;

        return $treeBuilder;
    }
}