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.