for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Alchemy\RestBundle\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
class RestConfiguration implements ConfigurationInterface
{
/**
* Generates the configuration tree builder.
*
* @return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
*/
public function getConfigTreeBuilder()
$builder = new TreeBuilder();
$builder
->root('alchemy_rest')
->children()
->arrayNode('exceptions')
->addDefaultsIfNotSet()
->arrayNode('content_types')
->fixXmlConfig('content_type')
->addDefaultChildrenIfNoneSet()
->prototype('scalar')
->defaultValue('application/json')
->end()
->scalarNode('enabled')->defaultTrue()->end()
->scalarNode('transformer')->defaultNull()->end()
->arrayNode('dates')
->scalarNode('format')->defaultValue('Y-m-d H:i:s')->end()
->scalarNode('timezone')->defaultValue('UTC')->end()
->arrayNode('pagination')
->scalarNode('limit_parameter')->defaultValue('limit')->end()
->scalarNode('offset_parameter')->defaultValue('offset')->end()
->arrayNode('sort')
->scalarNode('sort_parameter')->defaultValue('sort')->end()
->scalarNode('direction_parameter')->defaultValue('dir')->end()
->scalarNode('multi_sort_parameter')->defaultValue('sorts')->end()
->end();
return $builder;
}