(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Define/recupere diferentes opciones de aserciones
Esta función está OBSOLETA a partir de PHP 8.3.0. Depender de esta función está altamente desaconsejado.
assert_options() permite modificar las diversas opciones de la función assert(), o simplemente conocer la configuración actual.
Nota:
El uso de assert_options() no se recomienda en favor de definir y recuperar las directivas php.ini zend.assertions y assert.exception con ini_set() y ini_get(), respectivamente.
option
| Opción | Directiva | Valor por omisión | Descripción |
|---|---|---|---|
| ASSERT_ACTIVE | assert.active | 1 | Activa la evaluación de la función assert() |
| ASSERT_EXCEPTION | assert.exception | 1 | Lanza una AssertionError para cada aserción fallida |
| ASSERT_WARNING | assert.warning | 1 | Genera una alerta PHP para cada aserción falsa |
| ASSERT_BAIL | assert.bail | 0 | Termina la ejecución en caso de aserción falsa |
| ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | Desactiva el informe de error durante la evaluación de una aserción. Eliminada a partir de PHP 8.0.0 |
| ASSERT_CALLBACK | assert.callback | (null) |
Función de devolución de llamada del usuario, para el tratamiento de aserciones falsas |
valueUn nuevo valor, opcional, para la opción.
La función de devolución de llamada definida mediante ASSERT_CALLBACK o
assert.callback
debería tener la siguiente firma:
$file,$line,$assertion,$description = ?fileEl fichero donde assert() fue llamado.
lineLa línea donde assert() fue llamado.
assertion
Antes de PHP 8.0.0, el primer parámetro de la función assert() era la aserción pasada,
pero solo cuando la aserción se proporcionaba como string.
(Si la aserción era una condición booleana, este parámetro era una cadena vacía.)
A partir de PHP 8.0.0, este parámetro es siempre null.
descriptionLa descripción que se proporcionó a assert().
value restablece la función de retrollamada assert.
Devuelve el valor original de la opción.
Si option no es una opción válida, se lanza
una ValueError.
| Versión | Descripción |
|---|---|
| 8.3.0 | assert_options() ahora está obsoleto. |
| 8.0.0 |
Si option no es una opción válida,
se lanza una ValueError.
Anteriormente, se devolvía false.
|
Ejemplo #1 Ejemplo con assert_options()
<?php
// Esta es nuestra función para manejar
// los errores de aserción
function assert_failure($file, $line, $assertion, $message)
{
echo "La aserción $assertion en $file en la línea $line ha fallado: $message";
}
// Esta es nuestra función de prueba
function test_assert($parameter)
{
assert(is_bool($parameter));
}
// Define nuestras opciones de aserción
assert_options(ASSERT_ACTIVE, true);
assert_options(ASSERT_BAIL, true);
assert_options(ASSERT_WARNING, false);
assert_options(ASSERT_CALLBACK, 'assert_failure');
// Una aserción que debe fallar
test_assert(1);
// Esto nunca se alcanza, ya que ASSERT_BAIL
// es true
echo 'Nunca alcanzado';
?>