Formulario como servicio

Estoy creado un formulario como servicio. Ya que lo tengo que crear varias veces en la aplicación.Es un formulario para subir ficheros.

services:
    sisevo.form.type.archivo:
        class: SisEvo\UploadBundle\Form\ArchivoType
        tags:
            - { name: form.type, alias: archivo }
$formulario = $this->createForm($this->get('sisevo.form.type.archivo'));

He seguido --> https://librosweb.es/libro/symfony_2_x/capitulo_12/definiendo_formularios_como_servicios.html

Para la versión Symfony 2.8. ¿Todavía sería correcto?

Respuestas

#1

Para la versión 2.8 sí que sería correcto. Pero para 3.x habría que hacer algún cambio. Estos cambios también son compatibles con 2.8 (¡pero no con 2.7!) así que puedes ir utilizándolos para que tu aplicación sea compatible con 3.x. Los cambios son:

  • No hay que definir el atributo alias en la etiqueta del formulario
  • El form type ya no se accede con el nombre, sino con su clase.

Aquí tienes el artículo de la documentación oficial de Symfony que lo explica: https://symfony.com/doc/current/form/create_custom_field_type.html#form-field-service

#2

Muchas Gracias