Builds the configuration tree out of all of the App configuration definitions.

@return array Array of configuration values.
188922
public function compile()
    {
        $loader = $this->loaderFactory->newInstance();        
        $cache = $this->cacheFactory->produce();
        
        if(true === $cache->expired()) {
            $config = $this->loadConfig($loader);
            $cache->write($config);
        } else {
            $config = $cache->get();
        }
        
        return $config;
    }
1107915
protected function buildFullConfiguration()
    {
        $mergedConfiguration = [];
        $applicableSuperTypes = static::getFlattenedSuperTypes($this);
        foreach ($applicableSuperTypes as $key => $superType) {
            $mergedConfiguration = Arrays::arrayMergeRecursiveOverrule($mergedConfiguration, $superType->getLocalConfiguration());
        }
        $this->fullConfiguration = Arrays::arrayMergeRecursiveOverrule($mergedConfiguration, $this->localConfiguration);

        if (isset($this->fullConfiguration['childNodes']) && is_array($this->fullConfiguration['childNodes']) && $this->fullConfiguration['childNodes'] !== []) {
            $sorter = new PositionalArraySorter($this->fullConfiguration['childNodes']);
            $this->fullConfiguration['childNodes'] = $sorter->toArray();
        }
    }
1034489
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('victoire_seo');

        $rootNode
            ->addDefaultsIfNotSet()
            ->children()
                ->arrayNode('analytics')
                    ->useAttributeAsKey(true)
                    ->prototype('array')
                    ->children()
                        ->booleanNode('enabled')->defaultValue('false')->end()
                        ->scalarNode('key')->defaultNull()->end()
                    ->end()
                ->end()
                ->end()
            ->end();

        return $treeBuilder;
    }
1172133
protected function getAdminConfigTreeBuilder(): NodeDefinition
    {
        $builder = new TreeBuilder();
        $node = $builder->root('configurations');
        $adminDefinition = $node
            ->useAttributeAsKey('code')
            ->prototype('array')
            ->performNoDeepMerging()
            ->children();

        $this->appendAdminDefinition($adminDefinition);

        $adminDefinition->end()
            ->end()
            ->end();

        return $node;
    }
977818
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('gauges');
        $rootNode
            ->useAttributeAsKey('path')
            ->prototype('array')
            ->children()
                ->scalarNode('class')
                    ->isRequired()
                    ->cannotBeEmpty()
                ->end()
                ->variableNode('arguments')->end()
            ->end();

        return $treeBuilder;
    }
706162
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('sphinx_search');

        $this->addIndexerSection($rootNode);
        $this->addIndexesSection($rootNode);
        $this->addSearchdSection($rootNode);

        return $treeBuilder;
    }
462644
public function getConfigTreeBuilder()
    {
        $builder  = new TreeBuilder();
        $security = $builder->root('security');
        {
            /** @var ArrayNodeDefinition $policies */
            $policies = $security->children()->arrayNode('policies');
            {
                $policies->prototype('variable');
            }
            /** @var ArrayNodeDefinition $firewalls */
            $firewalls = $security->children()->arrayNode('firewalls');
            {
                $firewalls->prototype('variable');
            }
            /** @var ArrayNodeDefinition $accessRules */
            $accessRules = $security->children()->arrayNode('access_rules');
            {
                $accessRules->prototype('variable');
            }
            $roleHierarchy = $security->children()->arrayNode('role_hierarchy');
            {
                $roleHierarchy->prototype('variable')->beforeNormalization()->ifString()->then(
                    function ($v) {
                        return [$v];
                    }
                );
            }
        }

        return $builder;
    }
1071852
public function getConfigTreeBuilder() : TreeBuilder
    {
        $builder = new TreeBuilder($this->alias);

        if (method_exists($builder, 'getRootNode')) {
            $root = $builder->getRootNode();
        } else {
            // BC layer for symfony/config 4.1 and older
            $root = $builder->root($this->alias);
        }

        $root
            ->children()
                ->append($this->createClientsNode())
                ->booleanNode('logging')->defaultValue($this->debug)->end()
                ->booleanNode('profiling')->defaultValue($this->debug)->end()
                ->integerNode('slow_response_time')->defaultValue(0)->end()
                ->end()
            ->end();

        return $builder;
    }
1370362
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('app');

        $rootNode
            ->addDefaultsIfNotSet()
            ->children()
                ->integerNode('session_lifetime')->defaultValue(7200)->end()
                ->arrayNode('api')
                    ->isRequired()
                    ->cannotBeEmpty()
                    ->children()
                        ->scalarNode('base_url')
                            ->isRequired()
                            ->cannotBeEmpty()
                        ->end()
                        ->scalarNode('api_key')
                            ->isRequired()
                            ->cannotBeEmpty()
                        ->end()
                        ->scalarNode('param_key')->defaultValue('api_key')->end()
                    ->end()
                ->end()
                ->arrayNode('http')
                    ->isRequired()
                    ->cannotBeEmpty()
                    ->children()
                        ->scalarNode('client')->defaultValue(null)->end()
                        ->arrayNode('get')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('accept')->defaultValue('application/ld+json')->end()
                                ->scalarNode('content_type')->defaultValue('application/ld+json')->end()
                            ->end()
                        ->end()
                        ->arrayNode('post')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('accept')->defaultValue('application/json')->end()
                                ->scalarNode('content_type')->defaultValue('application/json')->end()
                            ->end()
                        ->end()
                        ->arrayNode('put')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('accept')->defaultValue('application/json')->end()
                                ->scalarNode('content_type')->defaultValue('application/json')->end()
                            ->end()
                        ->end()
                        ->arrayNode('patch')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('accept')->defaultValue('application/json')->end()
                                ->scalarNode('content_type')->defaultValue('application/json')->end()
                            ->end()
                        ->end()
                        ->arrayNode('delete')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('accept')->defaultValue('application/json')->end()
                                ->scalarNode('content_type')->defaultValue('application/json')->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('middlewares')
                    ->defaultValue([])
                    ->prototype('array')
                        ->children()
                            ->scalarNode('class')
                                ->isRequired()
                                ->cannotBeEmpty()
                            ->end()
                            ->variableNode('parameters')
                                ->defaultValue([])
                            ->end()
                            ->integerNode('priority')->defaultValue(0)->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('event_listeners')
                    ->defaultValue([])
                    ->prototype('array')
                        ->children()
                            ->scalarNode('event')
                                ->isRequired()
                                ->cannotBeEmpty()
                            ->end()
                            ->scalarNode('class')
                                ->isRequired()
                                ->cannotBeEmpty()
                            ->end()
                            ->scalarNode('method')
                                ->isRequired()
                                ->cannotBeEmpty()
                            ->end()
                            ->integerNode('priority')->defaultValue(0)->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('routes')
                    ->isRequired()
                    ->cannotBeEmpty()
                    ->prototype('array')
                        ->children()
                            ->scalarNode('path')
                                ->isRequired()
                                ->cannotBeEmpty()
                            ->end()
                            ->scalarNode('controller')
                                ->isRequired()
                                ->cannotBeEmpty()
                            ->end()
                            ->variableNode('requirements')
                                ->defaultValue([])
                            ->end()
                            ->variableNode('defaults')
                                ->defaultValue([])
                            ->end()
                            ->arrayNode('methods')
                                ->prototype('scalar')
                                    ->beforeNormalization()
                                        ->ifString()
                                        ->then(function ($v) { return strtoupper($v); })
                                    ->end()
                                    ->validate()
                                        ->ifNotInArray(['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'HEAD'])
                                        ->thenInvalid('Invalid HTTP Verbs')
                                    ->end()
                                    ->defaultValue(['GET'])
                                ->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('template')
                    ->isRequired()
                    ->cannotBeEmpty()
                    ->children()
                        ->scalarNode('engine')->defaultValue(null)->end()
                        ->scalarNode('path')->defaultValue(null)->end()
                        ->scalarNode('cache_dir')->defaultValue(null)->end()
                    ->end()
                ->end()
            ->end()
        ;

        return $treeBuilder;
    }
453249
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root($this->root);

        $rootNode
            ->children()
            ->scalarNode('home_route')->defaultValue('eavmanager_layout.dashboard')->end()
            ->append($this->getMailerConfigurationTreeBuilder())
            ->end();

        return $treeBuilder;
    }
266577
public function getConfigTreeBuilder()
	{
		$treeBuilder = new TreeBuilder();

		$treeBuilder->root('framework')
				->children()
					->append($this->getLocalesDefinition())
					->append($this->getDoctrineDefinition())
					->append($this->getAuditDefinition())
					->append($this->getSessionDefinition())
					->append($this->getMailerDefinition())
					->append($this->getServicesDefinition())
				->end();

		return $treeBuilder;
	}
666312
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('sidus_eav_variant');
        $familyDefinition = $rootNode
            ->children()
            ->arrayNode('routes')
            ->children()
            ->scalarNode('select')->isRequired()->end()
            ->scalarNode('create')->isRequired()->end()
            ->scalarNode('edit')->isRequired()->end()
            ->scalarNode('delete')->isRequired()->end()
            ->end()
            ->end()
            ->arrayNode('families')
            ->prototype('array')
            ->children();

        $this->appendFamilyDefinition($familyDefinition);

        $familyDefinition->end()
            ->end()
            ->end()
            ->end();

        return $treeBuilder;
    }
767457
public function getConfigTreeBuilder()
    {
        $builder  = new TreeBuilder();
        $firewall = $builder->root('firewall');
        {
            $firewall->children()->variableNode('pattern')->isRequired();
            $firewall->children()->variableNode('policies')->isRequired();
            $firewall->children()->variableNode('users')->isRequired();
            $firewall->children()->booleanNode('stateless')->defaultValue('false');
            $firewall->children()->variableNode('misc')->defaultValue([]);
        }

        return $builder;
    }
283828
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $root = $treeBuilder->root('chameleon_system_sanity_check');

        $root
            ->canBeDisabled()
            ->children()
                ->append($this->getOutputConfiguration())
            ->end();

        return $treeBuilder;
    }
1009053
private function createTreeArray()
    {
        $tree = [];

        foreach($this->models as $model) {
            $tree[] = [
                'id' => $model->{$this->id},
                'parent_id' => $model->{$this->parent_id},
                'model' => $model,
            ];
        }

        return $tree;
    }
1024192
static public function getAppConfig () {
		$args = func_get_args();

		/** @var Tree $config */
		$config = self::$app["app.config"];

		if (!count($args)) {
			return $config;
		} else {
			return $config[implode(".", $args)];
		}
	}
727810
public function toArray(): array
    {
        $config = [];

        if ($this->config->has('key')) {
            $config['key'] = $this->getKey();
        } else {
            $config['key'] = Key::generate($this->getKey(), 'field');
        }

        if ($this->config->has('conditional_logic')) {
            $config['conditional_logic'] = $this->getConditionalLogic();
        }

        if ($this->config->has('layouts')) {
            $config['layouts'] = $this->getLayouts();
        }

        if ($this->config->has('sub_fields')) {
            $config['sub_fields'] = $this->getSubFields();
        }

        return array_merge($this->config->toArray(), $config);
    }