Adapta tus aplicaciones al iPhone con Symfony

iphone_symfony.jpg

Una de las principales novedades introducidas en Symfony 1.1 es la posibilidad de adaptar las aplicaciones a diferentes formatos y tipos MIME. De esta forma, un mismo modelo y un mismo controlador pueden utilizar diferentes plantillas en función del formato solicitado por la petición del usuario.

Symfony 1.1 incluye una serie de formatos predefinidos (texto plano, JavaScript, CSS, XML, JSON, RDF y Atom) y la correspondiente lista de tipos MIME asociados (application/javascript, application/x-javascript, text/javascript, application/x-json, application/rdf+xml, etc.). Para determinar el formato solicitado, Symfony 1.1 procesa la cabecera Accept de la petición HTTP.

Una vez obtenido el formato de la petición, adaptar las aplicaciones Symfony es tan sencillo como crear nuevas plantillas. Si tu aplicación dispone de un módulo llamado api y una acción llamada articulo, debes crear las siguientes plantillas en el directorio apps/frontend/modules/api/templates para soportar los formatos HTML, XML y JSON:

  • articuloSuccess.php
  • articuloSuccess.xml.php
  • articuloSuccess.json.php

Symfony se encarga de modificar el valor de la cabecera Content-Type de la respuesta en función del formato. Además, por defecto la respuesta no se decora con el layout si se utiliza cualquier formato diferente a HTML.

En sl sitio web oficial de Symfony se ha publicado un tutorial corto en el que se explica con detalle esta nueva característica y se explica cómo determinar si la petición se realiza desde un iPhone: How to create an optimized version of your website for the iPhone

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.

Publicada el

14 de junio de 2008

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.