Preparando la actualización a Symfony 1.1
Esta semana se conocía que Fabien delegaba el mantenimiendo de las versiones 1.0.x, para centrarse completamente en el lanzamiento de la esperada versión 1.1. Otro indicio de que la Release Candidate de Symfony 1.1 está cada vez más próxima se ha producido con uno de los changeset importantes realizados esta semana.
Se ha creado un archivo con instrucciones sobre el proceso de actualización de las aplicaciones a Symfony 1.1. Al parecer, actualizar un proyecto a la nueva versión será tan sencillo como ejecutar la tarea symfony project:upgrade1.1
.
Uno de los cambios incompatibles de la nueva versión es el manejo de los atributos flash, ya que ha desaparecido el filtro sfFlashFilter
y los atributos ahora se establecen a través del usuario (ejemplo: $this->getUser()->setFlash('atributo', 'valor');
).
El código fuente de los archivos encargados de realizar la actualización de las aplicaciones es una buena forma de aprender a hacer este tipo de cosas, como por ejemplo esta función que actualiza todos los archivos de las plantillas:
$phpFinder = sfFinder::type('file')->name('.php');
$dirs = array_merge(
glob(sfConfig::get('sf_root_dir').'/apps//modules//templates'),
glob(sfConfig::get('sf_root_dir').'/apps//templates')
);
foreach ($phpFinder->in($dirs) as $file)
{
$content = file_get_contents($file);
$content = str_replace(
array('$sf_flash->set', '$sf_flash->get', '$sf_flash->has'),
array('$sf_user->setFlash', '$sf_user->getFlash', '$sf_user->hasFlash'),
$content, $count
);
if ($count)
{
$this->log($this->formatSection('flash', sprintf('Migrating %s', $file)));
file_put_contents($file, $content);
}
}
Comentarios
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.
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.