for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types = 1);
namespace Bukashk0zzz\FilterBundle\Form\Extension;
use Bukashk0zzz\FilterBundle\Form\EventListener\FilterListener;
use Bukashk0zzz\FilterBundle\Service\Filter;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Symfony\Component\Form\FormBuilderInterface;
/**
* Class FormTypeExtension
*/
class FormTypeExtension extends AbstractTypeExtension
{
* @var Filter
protected $filterService;
* @var bool
protected $autoFilter;
* FilterListener constructor.
*
* @param Filter $filterService
* @param bool $autoFilter
public function __construct(Filter $filterService, bool $autoFilter)
$this->filterService = $filterService;
$this->autoFilter = $autoFilter;
}
* {@inheritdoc}
* @deprecated since Symfony 4.2, use getExtendedTypes() instead.
public function getExtendedType()
return self::getExtendedTypes()[0];
public static function getExtendedTypes()
return [FormType::class];
public function buildForm(FormBuilderInterface $builder, array $options)
if (!$this->autoFilter) {
return;
$builder->addEventSubscriber(new FilterListener($this->filterService));