Define/recupere diferentes opciones de aserciones

# assert_options

(PHP 4, PHP 5, PHP 7, PHP 8)

assert_options — Define/recupere diferentes opciones de aserciones

Advertencia

Esta función está OBSOLETA a partir de PHP 8.3.0. Depender de esta función está altamente desaconsejado.

### Descripción

function assert_options(int `$option`, mixed `$value` = ?): mixed

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.

### Parámetros

`option`

  Opciones de aserciones
  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

`value`

  Un 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:

  function assert_callback(
  string `$file`,
  int `$line`,
  ?string `$assertion`,
  string `$description` = ?
  ): void
  `file`
    El fichero donde assert() fue llamado.
  `line`
    La 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`.
  `description`
    La descripción que se proporcionó a assert().

Pasar una cadena vacía como `value` restablece la función de retrollamada assert.

### Valores devueltos

Devuelve el valor original de la opción.

### Errores/Excepciones

Si `option` no es una opción válida, se lanza una ValueError.

### Historial de cambios

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`.

### Ejemplos

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';
    ?>

### Ver también

- assert() - Verifica una aserción

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open