Actualiza tus layouts para Symfony 1.1
Cuando se publique la esperadísima versión 1.1 de Symfony, un script automático actualizará las aplicaciones creadas con Symfony 1.0 para que sean compatibles con la nueva versión del framework. Si viviste la transición de la versión 0.7 a la versión 1.0, ya sabes que este script es completamente fiable y realiza de forma correcta más del 95% de los cambios necesarios. Sin embargo, algunos cambios que no son automatizables se tendrán que realizar a mano.
Una de las modificaciones manuales más importantes está relacionada con los layouts y las variables. En Symfony 1.0, cuando estableces una variable en la acción, esa variable está disponible tanto en la plantilla como en el layout. Lo malo de utilizar una variable en un layout es que todas las acciones que utilicen ese layout tienen que definir la variable. Por este motivo, desde la versión 1.1 de Symfony las variables de las acciones sólo estarán disponibles en las plantillas y no en los layouts.
Si utilizas variables en los layouts, tu código será similar a:
// En la acción class ...Actions extends sfActions { public function execute...() { $this->titulo = 'lo que sea'; } } // En el layout ... <head> <title><?php echo $titulo ?></title> ...
En Symfony 1.1, la forma correcta de escribir el código anterior hace uso de slots, tal y como se muestra en el siguiente código:
// En la acción class ...Actions extends sfActions { public function execute...() { $this->getResponse()->setSlot('titulo', 'lo que sea'); } } // En la plantilla <?php slot('titulo', 'valor por defecto si no se ha establecido en la acción') ?> // En el layout ... <head> <title><?php echo get_slot('titulo') ?></title> ...
Recuerda que este cambio lo debes realizar en todos los layouts que utilicen variables establecidas en la acción.
Gracias a esta modificación, los autores de Symfony aseguran que la caché de las acciones sea diez veces más rápida que la de Symfony 1.0.
Fuente: Upgrade your layout (for symfony >= 1.1 beta3)
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 forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.