for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Black\Bundle\EmailBundle\Application\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
/**
* Class Configuration
*/
class Configuration implements ConfigurationInterface
{
* @var string
private $alias;
* @param string $alias
public function __construct($alias)
$this->alias = $alias;
}
* {@inheritDoc}
public function getConfigTreeBuilder()
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root($this->alias);
$supportedDrivers = ['mongodb', 'orm'];
$rootNode
->children()
->scalarNode('db_driver')
->validate()
->ifNotInArray($supportedDrivers)
->thenInvalid('The database driver %s is not supported. Please choose one of ' . json_encode($supportedDrivers))
->end()
->isRequired()
->cannotBeOverwritten()
->cannotBeEmpty()
->scalarNode('email_class')->isRequired()->cannotBeEmpty()->end()
->end();
return $treeBuilder;