for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types=1);
namespace Actiane\EntityChangeWatchBundle\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
class Configuration implements ConfigurationInterface
{
/**
* {@inheritDoc}
*/
public function getConfigTreeBuilder(): TreeBuilder
$treeBuilder = new TreeBuilder('entity_change_watch');
$rootNode = $treeBuilder->getRootNode();
$rootNode->children()
->arrayNode('classes')->validate()->ifTrue(function ($classes) {
foreach ($classes as $key => $value) {
if (!class_exists($key)) {
return $key;
}
return false;
})->thenInvalid('Class not found')->end()
->prototype('array')
->children()
->arrayNode('update')
->arrayNode('all')
->scalarNode('name')->end()
->scalarNode('method')->end()
->scalarNode('flush')->defaultTrue()->end()
->end()
->arrayNode('properties')
->arrayNode('create')
->arrayNode('delete')
;
return $treeBuilder;