<?php

namespace Common\Form;

use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\OptionsResolver\OptionsResolver;

class TitleType extends TextType
{
    public function configureOptions(OptionsResolver $resolver): void
    {
        parent::configureOptions($resolver);

        $resolver->setDefaults(
            [
                'label' => 'lbl.Title',
                'required' => true,
                'attr' => [
                    'class' => 'form-control title',
                ]
            ]
        );
    }

    public function getBlockPrefix(): string
    {
        return 'title';
    }
}

<?php

namespace Common\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\OptionsResolver\OptionsResolver;

class TitleType extends AbstractType
{
    public function configureOptions(OptionsResolver $resolver): void
    {
        parent::configureOptions($resolver);

        $resolver->setDefaults(
            [
                'label' => 'lbl.Title',
                'required' => true,
                'attr' => [
                    'class' => 'form-control title',
                ]
            ]
        );
    }

    public function getParent(): string
    {
        return TextType::class;
    }

    public function getBlockPrefix(): string
    {
        return 'title';
    }
}

Use the normal way of extending a form type from symfony
Use the normal way of extending a form type from symfony
