for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the "elao/api-resources-metadata" package.
*
* Copyright (C) 2016 Elao
* @author Elao <[email protected]>
*/
namespace Elao\ApiResourcesMetadata\Bridge\Symfony\Bundle\DependencyInjection;
use Nelmio\ApiDocBundle\NelmioApiDocBundle;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
use Symfony\Component\PropertyInfo;
class Configuration implements ConfigurationInterface
{
/**
* {@inheritdoc}
public function getConfigTreeBuilder()
$treeBuilder = new TreeBuilder();
$root = $treeBuilder->root('elao_api_resources_metadata');
$root
->children()
->booleanNode('nelmio_api_doc')->defaultValue(class_exists(NelmioApiDocBundle::class))->end()
->scalarNode('cache')->info('true, false or cache service id')->end()
// loaders
->arrayNode('loaders')
->addDefaultsIfNotSet()
->arrayNode('yaml')
->canBeDisabled()
->scalarNode('path')
->defaultValue('%kernel.root_dir%/Resources/api_resources_metadata.yml')
->end()
->arrayNode('property_info')
->{class_exists(PropertyInfo\Type::class) ? 'canBeDisabled' : 'canBeEnabled'}()
->scalarNode('service')
->defaultValue('elao.api_resources_metadata.property_info')
// resources for array locator
->arrayNode('resources')
->useAttributeAsKey('shortName')->prototype('scalar')->end()
;
return $treeBuilder;
}