Ver índice de contenidos del libro

15.1. Formatos

El framework Symfony incluye soporte de muchos formatos y tipos MIME. Esto significa que la parte del modelo y del controlador pueden utilizar diferentes plantillas en función del formato en el que se realiza la petición. El formato por defecto es HTML, pero Symfony soporta muchos otros formatos como txt, js, css, json, xml, rdf y atom.

El formato se puede establecer con el método setRequestFormat() del objeto de la petición:

$request->setRequestFormat('xml');

No obstante, el formato se incluye casi siempre en la propia URL. En este caso, Symfony establece automáticamente el formato si en la ruta correspondiente se utiliza una variable especial llamada sf_format. La URL del listado de ofertas de trabajo es:

http://jobeet.localhost/frontend_dev.php/job

La URL anterior es equivalente a:

http://jobeet.localhost/frontend_dev.php/job.html

Las dos URL anteriores son equivalentes porque las rutas generadas por la clase sfPropelRouteCollection incluyen la variable sf_format como extensión del archivo y porque html es el valor por defecto. Si quieres comprobarlo tu mismo, puedes utilizar la tarea app:routes que muestra todas las rutas de la aplicación:

Resultado de ejecutar la tarea app:routes

Figura 15.1 Resultado de ejecutar la tarea app:routes