Prepara tus aplicaciones para Symfony 1.3

Las próximas versiones 1.3 y 1.4 de Symfony se publican en noviembre de 2009, por lo que es importante ir preparando las aplicaciones para el proceso de actualización.

El sitio web oficial de Symfony ya dispone del borrador de la guía de actualización y como es habitual, Symfony 1.3 contará con una tarea para actualizar automáticamente tus aplicaciones. No obstante, algunos cambios tendrán que realizarse manualmente, como por ejemplo los archivos YAML.

El componente sfYAML de Symfony 1.3 será compatible con la nueva versión 1.2 del estándar YAML. El cambio más significativo introducido por esta nueva versión tiene relación con los valores booleanos.

Hasta ahora tus archivos de configuración YAML podían utilizar los valores on, y, yes y + para hacer referencia a los valores verdaderos y off, n, no y - para indicar un valor falso. A partir de Symfony 1.3, sólo se podrán utilizar los valores true y false.

La tarea de actualización automática de Symfony no corregirá estos valores, pero sí que indicará la línea y el archivo concreto en el que se utilizan los valores erróneos.

Actualizado el 21 septiembre: Según nos comenta Fabien, creador y máximo responsable de symfony: La tarea de actualización intentará modificar los valores booleanos para utilizar sólo true o false, tal y como se puede ver en el siguiente extracto del código fuente de la clase sfYamlUpgrade.class.php:

// attempt to upgrade booleans
$original = file_get_contents($file);
$upgraded = sfToolkit::pregtr($original, array(
  '/^([^:]+: +)(?:on|y(?:es)?|\+)(\s*)$/im' => '\\1true\\2',
  '/^([^:]+: +)(?:off|no?|-)(\s*)$/im'      => '\\1false\\2',
));

Sólo si la actualización es incorrecta, la tarea informará al usuario del problema para que lo solucione manualmente:

try
{
  sfYaml::setSpecVersion('1.1');
  $yaml11 = sfYaml::load($original);

  sfYaml::setSpecVersion('1.2');
  $yaml12 = sfYaml::load($upgraded);
}
catch (Exception $e)
{
  ...
}

if ($yaml11 == $yaml12)
{
  ...
}
else
{
  $this->logSection('yaml', 'Unable to upgrade '.sfDebug::shortenFilePath($file), null, 'ERROR');
  ...
}

Comentarios

  1. 1.3 y 1.4??? Qué hay de la 1.4?

    kNo el 20 de septiembre de 2009, 19:20:57

  2. The task upgrades the YAML files automatically.

    Fabien el 20 de septiembre de 2009, 20:29:12

  3. Esto va a una velocidad increíble. Creo que es contraproducente para toda la comunidad Symfony que salga una version del framework al mes. En fin..

    Saludos.

    diseño web valencia el 21 de septiembre de 2009, 6:33:10

  4. @kNo: symfony 1.4 será igual que symfony 1.3 pero eliminando cualquier característica "deprecated" u obsoleta. Saldrá al mismo tiempo o un poco después de la versión 1.3 y es la recomendada para crear nuevos proyectos. La versión 1.3 es la recomendada para actualizar aplicaciones creadas con versiones anteriores y que todavía utilizan características obsoletas.

    @Fabien: diving into the sfYamlUpgrade.class.php code it's clear that this task attemps to upgrade the YAML files and only if the task is unable to do it, the user must manually upgrade his files. The following paragraph of the UPGRADE guide confused me:

    "The project:upgrade task tells you where you use old syntax but does not fix them (to avoid loosing comments for instance). You must fix them by hand."

    Javier Eguiluz el 21 de septiembre de 2009, 6:39:56

  5. Fabien siempre tan atento, Gracias! La versión 1.2 lleva ya un año. Si te refieres a publicar la 1.3 y la 1.4 a la vez,me auto responde con esta entrada del blog: http://www.symfony-project.org/blog/2009/08/06/about-symfony-1-3-and-symfony-1-4 symfony 1.4 = symfony 1.3 - deprecated stuff

    Así que la 1.4 va a ser igual a la 1.3 pero sin soporte hacia atrás, es decir, una versión más limpia e ideal para empezar algo con symfony (ya que es LTS). Pero es que además, la gente de sensio nos regala la 1.3, para hacernos la transición más fácil. Así que "diseño web valencia", al contrario, publicar estas dos versiones es todo un acierto.

    kNo el 21 de septiembre de 2009, 6:42:30

  6. Nos hemos pisado Javier!

    kNo el 21 de septiembre de 2009, 6:45:20

  7. Bueno, ya se sabe que las versiones pares son las realmente importantes, es lógico que 1.3 esté destinada a lo que está.

    Conclusión: comenzar los nuevos proyectos con 1.4.

    Un saludo

    David el 21 de septiembre de 2009, 14:41:56

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

20 de septiembre de 2009

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.