Blog


Symfony 2.3.0 ya está aquí

SYMFONY 2.3.0 YA ESTÁ AQUÍ

04 / 06 / 2013 Symfony

El pasado 3 de junio fue liberada la versión 2.3.0 de Symfony, primera versión con soporte a largo plazo, lo que supone un periodo de mantenimiento de 3 años. Desde la versión 2.2 se adoptó un proceso de liberación de una versión de Symfony cada 6 meses (una en mayo y otra en noviembre) con 8 meses de mantenimiento, publicando cada dos años una versión Long Term Support con un periodo de mantenimiento de tres años.

Estas son algunas de las novedades más interesantes que trae esta nueva versión 2.3.0 de Symfony:

Nuevas opciones de generación de URLs. Además de los tipos ya conocidos:


{# https://vabadus.es/blog/hola-mundo #}
{{ url('blog', { post: 'hola-mundo' }) }}

{# /blog/hola-mundo #}
{{ path('blog', { post: 'hola-mundo' }) }}

ahora hay disponibles dos nuevas formas de generar URLs:


{# //vabadus.es/blog/hola-mundo #}
{{ url('blog', { post: 'hola-mundo' }, true) }}

útil para incluir recursos alojados en sitios web externos donde se puede acceder a través de HTTP o HTTPS, y


{# ../ (ruta relativa a la base de la URL actual) #}
{{ path('blog', { post: 'hola-mundo' }, true) }}

útil para generar archivos HTML estáticos que pueden ser descargados para navegar localmente.

Formularios HTML5. Soporte para nuevos atributos de formularios HTML5

Eventos en el componente de consola. Ahora es posible controlar eventos lanzados por la consola. Hay tres que se envían de forma automática: ConsoleEvents::COMMAND que permite hacer algo antes de que se ejecute cualquier comando, ConsoleEvents::TERMINATE que lleva a cabo algunas acciones de limpieza después de que se haya ejecutado el comando y ConsoleEvents::EXCEPTION que controla excepciones producidas durante la ejecución de un comando.

Otras mejoras en el componente de consola. TableHelper, que permite visualizar correctamente una tabla por consola, u otra de las mejoras incluidas que permite obtener salidas por consola en distintos formatos ($ php app/console list --format=json), son algunas de ellas.

Nuevos validadores. Se han incluido algunos nuevos validadores como IBAN, ISBN, ISSN, y de divisa, así como validadores de comparación como EqualTo, NotEqualTo, IdenticalTo, NotIdenticalTo, LessThan, LessThanOrEqual, GreaterThan y GreaterThanOrEqual. Aquí van un par de ejemplos de su uso:


/**     
  * @AssertEqualTo(     
  *     value = 20     
  * )     
  */    
protected $edad;

/**     
  * @AssertLessThan(     
  *     value = 80     
  * )     
  */    
protected $edad;

Botones en formularios. Es posible agregar botones en los formularios:


$form = $this->createFormBuilder($task) 
    ->add('name', 'text')    
    ->add('save', 'submit')    
    ->add('save_and_add', 'submit')
    ->getForm();

Lo realmente interesante de enviar los botones con el formulario será cuando existan más de uno, y la lógica cambie dependiendo de cuál pulsó el usuario:


if ($form->isValid()) {    
     // si se pulsó el botón save_and_add button
     if ($form->get('save_and_add')->isClicked()) {        
          // se hace lo que corresponda
     } 
}

Lazy Services. Una nueva característica incluida en el inyector de dependencias para reducir el coste que supone la creación de un servicio, ya que algunas de las dependencias que pueda tener un servicio determinado puede llevar demasiado tiempo inicializarlas, por lo que se permite ejecutar el código lento lo más tarde posible. Su uso es muy sencillo:


services:   
     foo:     
          class: AcmeFoo     
          lazy: true

Internacionalización. Se han creado dos nuevos componentes, ICU e Intl para facilitar su instalación. El componente Intl es una capa PHP que sustituye la extesión C intl proporcionando además acceso a los datos de localización de la librería ICU.

Registro de Fatal Error. Para facilitar la depuración de errores incluso en entornos de producción, se ha incluido en Symfony 2.3 este nuevo registro de errores.

Gestión Interactiva del archivo parameters.yml. Con el fin de facilitar la gestión del fichero parameters.yml, cada vez que se ejecute composer install un script creará el fichero parameters.yml si no existe y permitirá personalizar todos los valores de forma interactiva.

Estas son solo algunas de las muchas mejoras que se han incluido en esta nueva versión de Symfony.

Si estás desarrollando con la versión 2.2, actualizar a la 2.3 no debe suponer un problema. Para cambios específicos échale un vistazo al documento UPGRADE FROM 2.2 to 2.3.

Si lo que vas a hacer es iniciar un nuevo proyecto, puedes lanzar el siguiente comando:


$ php composer.phar create-project symfony/framework-standard-edition tu-carpeta/ 2.3.0



ARTÍCULOS RELACIONADOS