Request
in package
Encapsula la petición HTTP entrante (cookies, archivos, cabeceras, parámetros GET/POST y cuerpo).
Se construye normalmente desde las superglobales mediante createFromGlobals(), pero también admite datos arbitrarios para facilitar los tests.
Table of Contents
Constants
- METHOD_GET : mixed = 'GET'
- METHOD_PATCH : mixed = 'PATCH'
- METHOD_POST : mixed = 'POST'
- METHOD_PUT : mixed = 'PUT'
Properties
- $cookies : mixed
- Cookies de la petición ($_COOKIE).
- $files : mixed
- Archivos subidos ($_FILES).
- $headers : mixed
- Cabeceras HTTP derivadas de $_SERVER.
- $query : mixed
- Parámetros de la query string ($_GET).
- $request : mixed
- Parámetros del cuerpo de la petición ($_POST y PUT/PATCH form-urlencoded).
- $rawInput : mixed
- Cuerpo crudo de la petición; si es null se lee de php://input bajo demanda.
Methods
- __construct() : mixed
- all() : array<string|int, mixed>
- browser() : string
- Detecta el navegador a partir del User-Agent.
- cookie() : string|null
- Devuelve el valor de una cookie o $default si no existe.
- createFromGlobals() : self
- Construye una Request a partir de las superglobales del entorno PHP ($_COOKIE, $_FILES, $_SERVER, $_GET, $_POST y php://input para PUT/PATCH).
- file() : UploadedFile|null
- Devuelve el archivo subido asociado a $key, o null si no existe.
- fullUrl() : string
- URL absoluta completa: protocolo, host, path y query string.
- get() : string|null
- getAlnum() : string
- getArray() : array<string|int, mixed>
- getBasePath() : string
- Devuelve el path de REQUEST_URI sin la query string (ej: "/admin/users").
- getBool() : bool|null
- getContent() : string
- Devuelve el cuerpo crudo de la petición (rawInput inyectado o php://input).
- getDate() : string|null
- getDateTime() : string|null
- getEmail() : string|null
- getFloat() : float|null
- getHour() : string|null
- getInt() : int|null
- getMethod() : string
- getOnly() : string|null
- getString() : string|null
- getUrl() : string|null
- has() : bool
- Comprueba que TODAS las claves indicadas estén presentes en query o request.
- header() : string|null
- Devuelve la cabecera HTTP solicitada o $default.
- host() : string
- Host de la petición (HTTP_HOST) o cadena vacía si no se conoce.
- input() : string|null
- Lee un valor solo del cuerpo de la petición (POST/PUT/PATCH).
- inputOrQuery() : string|null
- Lee del cuerpo y, si no existe, recurre a la query string.
- ip() : string
- Devuelve la IP del cliente, dando prioridad a Cloudflare y X-Forwarded-For antes que REMOTE_ADDR. Si no hay nada disponible devuelve "::1".
- isMethod() : bool
- Comprueba si el método HTTP coincide con el indicado (GET, POST, etc.).
- isSecure() : bool
- Indica si la petición se ha realizado por HTTPS.
- json() : mixed
- Decodifica el cuerpo de la petición como JSON.
- method() : string
- Devuelve el método HTTP (GET, POST, PUT, PATCH, DELETE...).
- os() : string
- Detecta el sistema operativo del cliente a partir del User-Agent.
- parseRequestData() : array<string|int, mixed>
- Construye el array de datos de la petición.
- protocol() : string
- Protocolo del servidor (p.ej. HTTP/1.1) o cadena vacía.
- query() : string|null
- Lee un valor solo de la query string.
- queryOrInput() : string|null
- Lee de la query y, si no existe, recurre al cuerpo de la petición.
- url() : string
- Devuelve la URL relativa de la petición, eliminada la query string y el prefijo FS_ROUTE.
- urlWithQuery() : string
- URL relativa con la query string añadida (incluye el "?" aunque esté vacía).
- userAgent() : string
- User-Agent enviado por el cliente, o cadena vacía.
Constants
METHOD_GET
public
mixed
METHOD_GET
= 'GET'
METHOD_PATCH
public
mixed
METHOD_PATCH
= 'PATCH'
METHOD_POST
public
mixed
METHOD_POST
= 'POST'
METHOD_PUT
public
mixed
METHOD_PUT
= 'PUT'
Properties
$cookies
Cookies de la petición ($_COOKIE).
public
mixed
$cookies
@var SubRequest
$files
Archivos subidos ($_FILES).
public
mixed
$files
@var RequestFiles
$headers
Cabeceras HTTP derivadas de $_SERVER.
public
mixed
$headers
@var Headers
$query
Parámetros de la query string ($_GET).
public
mixed
$query
@var SubRequest
$request
Parámetros del cuerpo de la petición ($_POST y PUT/PATCH form-urlencoded).
public
mixed
$request
@var SubRequest
$rawInput
Cuerpo crudo de la petición; si es null se lee de php://input bajo demanda.
private
mixed
$rawInput
@var string|null
Methods
__construct()
public
__construct([array<string|int, mixed> $data = [] ]) : mixed
Parameters
- $data : array<string|int, mixed> = []
-
Claves opcionales: cookies, files, headers, query, request, input.
all()
public
all(string ...$key) : array<string|int, mixed>
use request->all() or query->all() instead
Parameters
- $key : string
Return values
array<string|int, mixed>browser()
Detecta el navegador a partir del User-Agent.
public
browser() : string
Return values
string —chrome, edge, firefox, safari, opera, ie o unknown.
cookie()
Devuelve el valor de una cookie o $default si no existe.
public
cookie(string $key[, mixed $default = null ]) : string|null
Parameters
- $key : string
- $default : mixed = null
Return values
string|nullcreateFromGlobals()
Construye una Request a partir de las superglobales del entorno PHP ($_COOKIE, $_FILES, $_SERVER, $_GET, $_POST y php://input para PUT/PATCH).
public
static createFromGlobals() : self
Return values
selffile()
Devuelve el archivo subido asociado a $key, o null si no existe.
public
file(string $key) : UploadedFile|null
Parameters
- $key : string
Return values
UploadedFile|nullfullUrl()
URL absoluta completa: protocolo, host, path y query string.
public
fullUrl() : string
Return values
stringget()
public
get(string $key[, mixed $default = null ]) : string|null
use input(), inputOrQuery(), query() or queryOrInput() instead
Parameters
- $key : string
- $default : mixed = null
Return values
string|nullgetAlnum()
public
getAlnum(string $key) : string
use request->getAlnum() or query->getAlnum() instead
Parameters
- $key : string
Return values
stringgetArray()
public
getArray(string $key) : array<string|int, mixed>
use request->getArray() or query->getArray() instead
Parameters
- $key : string
Return values
array<string|int, mixed>getBasePath()
Devuelve el path de REQUEST_URI sin la query string (ej: "/admin/users").
public
getBasePath() : string
Return values
stringgetBool()
public
getBool(string $key[, bool|null $default = null ]) : bool|null
use request->getBool() or query->getBool() instead
Parameters
- $key : string
- $default : bool|null = null
Return values
bool|nullgetContent()
Devuelve el cuerpo crudo de la petición (rawInput inyectado o php://input).
public
getContent() : string
Return values
stringgetDate()
public
getDate(string $key[, string|null $default = null ]) : string|null
use request->getDate() or query->getDate() instead
Parameters
- $key : string
- $default : string|null = null
Return values
string|nullgetDateTime()
public
getDateTime(string $key[, string|null $default = null ]) : string|null
use request->getDateTime() or query->getDateTime() instead
Parameters
- $key : string
- $default : string|null = null
Return values
string|nullgetEmail()
public
getEmail(string $key[, string|null $default = null ]) : string|null
use request->getEmail() or query->getEmail() instead
Parameters
- $key : string
- $default : string|null = null
Return values
string|nullgetFloat()
public
getFloat(string $key[, float|null $default = null ]) : float|null
use request->getFloat() or query->getFloat() instead
Parameters
- $key : string
- $default : float|null = null
Return values
float|nullgetHour()
public
getHour(string $key[, string|null $default = null ]) : string|null
use request->getHour() or query->getHour() instead
Parameters
- $key : string
- $default : string|null = null
Return values
string|nullgetInt()
public
getInt(string $key[, int|null $default = null ]) : int|null
use request->getInt() or query->getInt() instead
Parameters
- $key : string
- $default : int|null = null
Return values
int|nullgetMethod()
public
getMethod() : string
use method() instead
Return values
stringgetOnly()
public
getOnly(string $key, array<string|int, mixed> $values) : string|null
use request->getOnly() or query->getOnly() instead
Parameters
- $key : string
- $values : array<string|int, mixed>
Return values
string|nullgetString()
public
getString(string $key[, string|null $default = null ]) : string|null
use request->getString() or query->getString() instead
Parameters
- $key : string
- $default : string|null = null
Return values
string|nullgetUrl()
public
getUrl(string $key[, string|null $default = null ]) : string|null
use request->getUrl() or query->getUrl() instead
Parameters
- $key : string
- $default : string|null = null
Return values
string|nullhas()
Comprueba que TODAS las claves indicadas estén presentes en query o request.
public
has(string ...$key) : bool
Devuelve false si alguna falta o si no se pasa ninguna clave.
Parameters
- $key : string
Return values
boolheader()
Devuelve la cabecera HTTP solicitada o $default.
public
header(string $key[, mixed $default = null ]) : string|null
Parameters
- $key : string
- $default : mixed = null
Return values
string|nullhost()
Host de la petición (HTTP_HOST) o cadena vacía si no se conoce.
public
host() : string
Return values
stringinput()
Lee un valor solo del cuerpo de la petición (POST/PUT/PATCH).
public
input(string $key[, mixed $default = null ]) : string|null
Parameters
- $key : string
- $default : mixed = null
Return values
string|nullinputOrQuery()
Lee del cuerpo y, si no existe, recurre a la query string.
public
inputOrQuery(string $key[, mixed $default = null ]) : string|null
Parameters
- $key : string
- $default : mixed = null
Return values
string|nullip()
Devuelve la IP del cliente, dando prioridad a Cloudflare y X-Forwarded-For antes que REMOTE_ADDR. Si no hay nada disponible devuelve "::1".
public
ip() : string
Return values
stringisMethod()
Comprueba si el método HTTP coincide con el indicado (GET, POST, etc.).
public
isMethod(string $method) : bool
Parameters
- $method : string
Return values
boolisSecure()
Indica si la petición se ha realizado por HTTPS.
public
isSecure() : bool
Return values
booljson()
Decodifica el cuerpo de la petición como JSON.
public
json([string|null $key = null ][, mixed $default = null ]) : mixed
Si $key es null devuelve el array completo; en caso contrario el valor de esa clave o $default.
Parameters
- $key : string|null = null
- $default : mixed = null
method()
Devuelve el método HTTP (GET, POST, PUT, PATCH, DELETE...).
public
method() : string
Return values
stringos()
Detecta el sistema operativo del cliente a partir del User-Agent.
public
os() : string
Return values
string —windows, mac, linux, unix, sun, bsd o unknown.
parseRequestData()
Construye el array de datos de la petición.
public
static parseRequestData() : array<string|int, mixed>
Para PUT/PATCH con application/x-www-form-urlencoded, PHP no rellena $_POST, así que parseamos manualmente el cuerpo desde php://input.
Return values
array<string|int, mixed>protocol()
Protocolo del servidor (p.ej. HTTP/1.1) o cadena vacía.
public
protocol() : string
Return values
stringquery()
Lee un valor solo de la query string.
public
query(string $key[, mixed $default = null ]) : string|null
Parameters
- $key : string
- $default : mixed = null
Return values
string|nullqueryOrInput()
Lee de la query y, si no existe, recurre al cuerpo de la petición.
public
queryOrInput(string $key[, mixed $default = null ]) : string|null
Parameters
- $key : string
- $default : mixed = null
Return values
string|nullurl()
Devuelve la URL relativa de la petición, eliminada la query string y el prefijo FS_ROUTE.
public
url([int|null $position = null ]) : string
Parameters
- $position : int|null = null
-
Si es null devuelve la URL completa. Si es un índice, devuelve el segmento del path en esa posición (admite negativos para contar desde el final).
Return values
stringurlWithQuery()
URL relativa con la query string añadida (incluye el "?" aunque esté vacía).
public
urlWithQuery() : string
Return values
stringuserAgent()
User-Agent enviado por el cliente, o cadena vacía.
public
userAgent() : string