for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Browscap\BrowscapBundle\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
/**
* @author Joshua Estes <[email protected]>
*/
class Configuration implements ConfigurationInterface
{
* {@inheritDoc}
public function getConfigTreeBuilder()
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('browscap');
$supportedMethods = array(
'URL-wrapper',
'socket',
'cURL',
'local',
);
$rootNode
->children()
->scalarNode('cache_dir')
->defaultValue(null)
->end()
->scalarNode('local_file')
->scalarNode('cache_filename')
->defaultValue('cache.php')
->scalarNode('ini_filename')
->defaultValue('browscap.ini')
->scalarNode('remote_ini_url')
->defaultValue('http://browscap.org/stream?q=Full_PHP_BrowsCapINI')
->scalarNode('remote_ver_url')
->defaultValue('http://browscap.org/version')
->booleanNode('lowercase')
->defaultValue(false)
->booleanNode('silent')
->scalarNode('timeout')
->defaultValue(5)
->scalarNode('update_interval')
->defaultValue(432000)
->scalarNode('error_interval')
->defaultValue(7200)
->booleanNode('do_auto_update')
->defaultValue(true)
->scalarNode('update_method')
->validate()
->ifNotInArray($supportedMethods)
->thenInvalid('The method "%s" is not supported. Please choose one of ' . json_encode($supportedMethods))
->cannotBeOverwritten()
->defaultValue('cURL')
->end();
return $treeBuilder;
}