* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form; use Symfony\Component\OptionsResolver\OptionsResolver; /** * @author Bernhard Schussek */ interface FormTypeExtensionInterface { /** * Gets the extended types. * * @return string[] */ public static function getExtendedTypes(): iterable; public function configureOptions(OptionsResolver $resolver): void; /** * Builds the form. * * This method is called after the extended type has built the form to * further modify it. * * @param array $options * * @see FormTypeInterface::buildForm() */ public function buildForm(FormBuilderInterface $builder, array $options): void; /** * Builds the view. * * This method is called after the extended type has built the view to * further modify it. * * @param array $options * * @see FormTypeInterface::buildView() */ public function buildView(FormView $view, FormInterface $form, array $options): void; /** * Finishes the view. * * This method is called after the extended type has finished the view to * further modify it. * * @param array $options * * @see FormTypeInterface::finishView() */ public function finishView(FormView $view, FormInterface $form, array $options): void; }