Contexto
in package
Petición ya autorizada. Si un handler recibe un Contexto, el guard le dio paso.
conexionIds contiene las conexiones autorizadas por el servidor, no las que solicitó el cliente.
Table of Contents
Properties
- $conexionIds : array<string|int, mixed>
- $rol : int
- $userId : int
Methods
- __construct() : mixed
- conexion() : int
- Conexión única, para endpoints de escritura.
- json() : array<string|int, mixed>
- Decodifica un campo POST que viaja como JSON.
- post() : string
- Campo POST escalar como cadena.
- postInt() : int
- Campo POST numérico.
Properties
$conexionIds read-only
public
array<string|int, mixed>
$conexionIds
$rol read-only
public
int
$rol
$userId read-only
public
int
$userId
Methods
__construct()
public
__construct(int $userId, int $rol, array<string|int, int> $conexionIds) : mixed
Parameters
- $userId : int
-
: id del usuario en sesión
- $rol : int
-
: rol del usuario en sesión
- $conexionIds : array<string|int, int>
-
: conexiones autorizadas (vacío en TRACKINGWEB)
conexion()
Conexión única, para endpoints de escritura.
public
conexion() : int
Return values
int —0 si no hay ninguna
json()
Decodifica un campo POST que viaja como JSON.
public
json([string $campo = 'data' ][, array<string|int, mixed> $porDefecto = [] ]) : array<string|int, mixed>
MODO LOG-ONLY: un JSON inválido se registra y se devuelve el valor por defecto, en lugar de cortar con 400. Es deliberado durante la migración: el frontend puede enviar 'undefined' o 'null' literales en algún punto, y un corte convertiría endpoints que hoy funcionan en errores. Revisar el log una semana, corregir los emisores y entonces cambiar el bloque por: Respuesta::error("El campo '{$campo}' no contiene JSON válido.", 400, 'JSON_INVALIDO');
Parameters
- $campo : string = 'data'
-
: nombre del campo
- $porDefecto : array<string|int, mixed> = []
-
: valor si el campo no llega o es inválido
Return values
array<string|int, mixed>post()
Campo POST escalar como cadena.
public
post(string $campo[, string $porDefecto = '' ]) : string
Parameters
- $campo : string
- $porDefecto : string = ''
Return values
stringpostInt()
Campo POST numérico.
public
postInt(string $campo[, int $porDefecto = 0 ]) : int
MODO LOG-ONLY: un valor no entero se registra y se acepta el casteo, en lugar de cortar con 400. Ver la nota de json(): FILTER_VALIDATE_INT rechaza "3.0" y los valores con espacios, que el frontend puede estar enviando. Tras revisar el log, sustituir el bloque por: Respuesta::error("El campo '{$campo}' debe ser un número entero.", 400, 'TIPO_INVALIDO');
Parameters
- $campo : string
- $porDefecto : int = 0
-
: valor si el campo no llega