for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types = 1);
namespace Artprima\QueryFilterBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
/**
* Class AddQueryBuilderConditionPass
*
* @author Denis Voytyuk <[email protected]>
* @package Artprima\QueryFilterBundle\DependencyInjection\Compiler
*/
class AddQueryBuilderConditionPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
if (false === $container->hasDefinition('query_filter_bundle.query.proxy_query_builder_manager')) {
return;
}
$definition = $container->getDefinition('query_filter_bundle.query.proxy_query_builder_manager');
$disabled = $container->getParameter('query_filter_bundle.disabled_conditions');
$container->getParameterBag()->remove('query_filter_bundle.disabled_conditions');
foreach ($container->findTaggedServiceIds('proxy_query_builder.condition') as $id => $converters) {
foreach ($converters as $converter) {
$name = isset($converter['condition']) ? $converter['condition'] : null;
if (null !== $name && in_array($name, $disabled)) {
continue;
$definition->addMethodCall('registerCondition', [new Reference($id)]);