Ayudante de galletas
El archivo Cookie Helper contiene funciones que ayudan a trabajar con galletas.
Cargando este ayudante
Este ayudante se carga usando el siguiente código:
<?php
helper('cookie');
Funciones disponibles
Están disponibles las siguientes funciones:
- set_cookie($name[, $value = ''[, $expire = ''[, $domain = ''[, $path = '/'[, $prefix = ''[, $secure = false[, $httpOnly = false[, $sameSite = '']]]]]]]])
- Parámetros:
$name (
array|Cookie|string
) – Nombre de la cookie o matriz asociativa de todos los parámetros disponibles para esta función o una instancia deHiggs\Cookie\Cookie
$valor (
string
) – valor de la cookie$expire (
int
) – Número de segundos hasta el vencimiento. Si se establece en0
, la cookie solo durará mientras el navegador esté abierto.$dominio (
string
) – Dominio de cookies (normalmente: .tudominio.com)$ruta (
string
) – ruta de la cookie$prefix (
string
) – Prefijo del nombre de la cookie. Si''
, se utiliza el valor predeterminado de app/Config/Cookie.php$secure (
bool
) – si se envía la cookie solo a través de HTTPS. Si esnulo
, se utiliza el valor predeterminado de app/Config/Cookie.php$httpOnly (
bool
) – si se debe ocultar la cookie de JavaScript. Si esnulo
, se utiliza el valor predeterminado de app/Config/Cookie.php$sameSite (
string
) – el valor del parámetro de cookie SameSite. Si esnulo
, se utiliza el valor predeterminado de app/Config/Cookie.php
- Tipo del valor devuelto:
nulo
Nota
Prior to v7.2.7, the default values of
$secure
and$httpOnly
werefalse
debido a un error y estos valores de app/Config/Cookie.php nunca se usaron.Esta función auxiliar le brinda una sintaxis más sencilla para configurar el navegador. galletas. Consulte la Biblioteca de respuestas para una descripción de su uso, ya que esta función es un alias para
Higgs\HTTP\Response::setCookie()
.Nota
This helper function just sets browser cookies to the global response instancia que devuelve
Services::response()
. Entonces, si creas y devolver otra instancia de respuesta (por ejemplo, si llama aredirect()
), Las cookies aquí configuradas no se enviarán automáticamente.
- get_cookie($index[, $xssClean = false[, $prefix = '']])
- Parámetros:
$index (
string
) – nombre de la cookie$xssClean (
bool
) – si se debe aplicar el filtrado XSS al valor devuelto$prefix (
string|null
) – prefijo del nombre de la cookie. Si se establece en''
, se utilizará el valor predeterminado de app/Config/Cookie.php. Si se establece ennull
, sin prefijo
- Devuelve:
el valor de la cookie o nulo si no se encuentra
- Tipo del valor devuelto:
mixto
Nota
Since v7.2.1, the third parameter
$prefix
has been introduced and the behavior has been changed a bit due to a bug fix. See Upgrading for details.Esta función auxiliar le brinda una sintaxis más amigable para obtener el navegador. galletas. Consulte la Biblioteca de solicitudes entrantes para descripción detallada de su uso, ya que esta función actúa muy de manera similar a
Higgs\HTTP\IncomingRequest::getCookie()
, excepto que también antepondrá elConfig\Cookie::$prefix
que quizás hayas configurado en tu archivo app/Config/Cookie.php.Advertencia
Using XSS filtering is a bad practice. It does not prevent XSS attacks perfectly. Using
esc()
with the correct$context
in the views is recommended.
- delete_cookie($name[, $domain = ''[, $path = '/'[, $prefix = '']]])
- Parámetros:
$nombre (
string
) – nombre de la cookie$dominio (
string
) – Dominio de cookies (normalmente: .tudominio.com)$ruta (
string
) – ruta de la cookie$prefix (
string
) – prefijo del nombre de la cookie
- Tipo del valor devuelto:
nulo
Le permite eliminar una cookie. A menos que haya establecido una ruta personalizada u otra valores, sólo se necesita el nombre de la cookie.
<?php delete_cookie('name');
Por lo demás, esta función es idéntica a
set_cookie()
, excepto que no tiene los parámetrosvalor
yexpire
.Esto también simplemente configura las cookies del navegador para eliminar las cookies a nivel global. instancia de respuesta que devuelve
Services::response()
.Nota
When you use
set_cookie()
, si elvalor
se establece en una cadena vacía y elexpire
se establece en0
, la cookie se eliminará. Si elvalor
se establece en una cadena no vacía y elexpire
se establece en0
, la cookie solo durará mientras el navegador esté abierto.Puedes enviar un conjunto de valores en el primer parámetro o puede establecer valores discretos parámetros.
<?php delete_cookie($name, $domain, $path, $prefix);
- has_cookie(string $name[, ?string $value = null[, string $prefix = '']])
- Parámetros:
$nombre (
string
) – nombre de la cookie$ (
string|valor nulo
) – valor de cookie$prefijo (
string
) – Prefijo de cookie
- Tipo del valor devuelto:
booleano
Comprueba si existe una cookie por nombre en la instancia de respuesta global que
Servicios::respuesta()
devuelve. Este es un alias deHiggs\HTTP\Response::hasCookie()
.