JavaScript accesible con Symfony

François Zaninotto, uno de los creadores de Symfony y principal responsable de la documentación del proyecto, ha publicado un plugin llamado Unobtrusive JavaScript Plug-In (sfUJSPlugin) y que promete hacer código JavaScript accesible de forma sencilla.

La idea detrás del Unobtrusive JavaScript o UJS es separar los contenidos y su lógica, al igual que CSS permite separar los contenidos y su presentación. Desde el punto de vista del usuario, UJS solo tiene ventajas.

El problema del UJS es que es insoportable para el programador. El código resultante de la página es 10 veces más grande que el original. Por suerte, Symfony simplifica y automatiza todo este proceso.

El siguiente código de Symfony:


<?php use_helper('UJS') ?>
<a href="image.jpg" id="foobar">see the image</a>
<?php UJS_add_behaviour('#foobar', 'click', 'showPopup(\'image.jpg\')')
Permite añadir al enlace un comportamiento JavaScript accesible. Sin mezclar la lógica y los contenidos, se modifica el comportamiento del enlace para que al pinchar sobre el, se llame a la función showPopup() para mostrar la imagen en una ventana emergente.

La página del plugin sfUJSPlugin ofrece información sobre su instalación, configuración y algunos ejemplos: http://www.symfony-project.com/trac/wiki/sfUJSPlugin

Fuente: Unobtrusive JavaScript made possible

Comentarios

  1. ¡Qué gozada! No sabía que con Symfony también se podían hacer estas cosas. ¿Cuántos sitios web en el mundo tendrán Javascript chapucero y arcaico en sus páginas? Me temo que un alto porcentaje. La idea del plug-in de Symfony me parece una gran solución.

    Miguel el 2 de marzo de 2007, 10:37:00

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

1 de marzo de 2007

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.