Symfony 1.4, la guía definitiva

6.3. Accediendo a la petición

El primer argumento que se pasa a cualquier método de una acción es el objeto que representa a la petición, llamada sfWebRequest en Symfony. De todos sus métodos, ya se ha mostrado el método getParameter('miparametro') para obtener el valor de un parámetro de la petición a partir de su nombre. La tabla 6-1 resume algunos de los métodos más útiles de sfWebRequest.

Tabla 6-1. Métodos del objeto sfWebRequest

Nombre Función Ejemplo de salida producida
Información sobre la petición
isMethod($metodo) Permite descubrir si el método empleado es POST o GET Devuelve true o false
getMethod() Nombre del método de la petición POST
getHttpHeader('Server') Valor de una cabecera HTTP Apache/2.0.59 (Unix) DAV/2 PHP/5.1.6
getCookie('foo') Valor de una cookie valor
isXmlHttpRequest() (1) ¿Es una petición AJAX? true
isSecure() ¿Es una petición SSL? true
Parámetros de la petición
hasParameter('parametro') ¿Existe el parámetro en la petición? true
getParameter('parametro') Valor del parámetro valor
getParameterHolder()->getAll() Array de todos los parámetros de la petición
Información relacionada con la URI
getUri() URI completa http://localhost/frontend_dev.php/mimodulo/miaccion
getPathInfo() Información de la ruta /mimodulo/miaccion
getReferer() (2) Valor del "referer" de la petición http://localhost/frontend_dev.php/
getHost() Nombre del Host localhost
getScriptName() Nombre y ruta del controlador frontal frontend_dev.php
Información del navegador del cliente
getLanguages() Array de los lenguajes aceptados Array( [0] => fr [1] => fr_FR [2] => en_US [3] => en )
getCharsets() Array de los juegos de caracteres aceptados Array( [0] => ISO-8859-1 [1] => UTF-8 [2] => * )
getAcceptableContentTypes() Array de los tipos de contenidos aceptados Array( [0] => text/xml [1] => text/html

(1) Funciona con Prototype, Mootools y jQuery (2) Si se utilizan proxys, su valor puede ser inaccesible

No tienes que preocuparte sobre si el servidor soporta las variables de PHP $_SERVER o $_ENV, o acerca de valores por defecto o problemas de compatibilidad del servidor, ya que los métodos de 'sfWebRequest lo hacen todo por tí. Además sus nombres son tan evidentes que no es necesario consultar la documentación de PHP para descubrir cómo obtener información sobre la petición.