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: