Define/obtém as várias opções de asserção

# assert_options

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

assert_options — Define/obtém as várias opções de asserção

Aviso

Esta função foi DESCONTINUADA a partir do PHP 8.3.0. O uso desta função é fortemente desencorajado.

### Descrição

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

Define as várias opções de controle de assert() ou apenas consulta suas várias configurações.

> Nota: O uso de assert_options() é desencorajado em favor de definir e obter as diretivas zend.assertions e assert.exception do php.ini com ini_set() e ini_get(), respectivamente.

### Parâmetros

`option`

  Opções de Asserção
  Opção | Configuração INI | Valor padrão | Descrição
  --- | --- | --- | ---
  ASSERT_ACTIVE | assert.active | 1 | habilita avaliação de assert()
  ASSERT_EXCEPTION | assert.exception | 1 | lança uma exceção AssertionError para cada asserção falhada
  ASSERT_WARNING | assert.warning | 1 | emite um alerta PHP para cada asserção falhada
  ASSERT_BAIL | assert.bail | 0 | termina a execução em asserções falhadas
  ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | desabilita registro de erros durante avaliação de expressões de asserção. Removido a partir do PHP 8.0.0.
  ASSERT_CALLBACK | assert.callback | (`null`) | Função de retorno a ser chamada em asserções falhadas

`value`

  Um novo valor opcional para a opção.

  A função de retorno definida via `ASSERT_CALLBACK` ou assert.callback deve ter a seguinte assinatura:

  function assert_callback(
  string `$file`,
  int `$line`,
  ?string `$assertion`,
  string `$description` = ?
  ): void
  `file`
    O arquivo onde assert() foi chamada.
  `line`
    A linha onde assert() foi chamada.
  `assertion`
    Antes do PHP 8.0.0, a asserção que foi passada a assert(), mas somente quando a asserção for informada como uma string. (Se a asserção for uma condição booleana, este parâmetro será uma string vazia.) A partir do PHP 8.0.0, este parâmetro é sempre `null`.
  `description`
    A descrição que foi passada a assert().

Passar uma string vazia no parâmetro `value` redefine a função de retorno da asserção.

### Valor Retornado

Retorna a configuração original de qualquer opção.

### Erros/Exceções

Se `option` não for uma opção válida, uma exceção ValueError é lançada.

### Registro de Alterações

Versão | Descrição
--- | ---
8.3.0 | assert_options() agora foi descontinuada.
8.0.0 | Se `option` não for uma opção válida, uma exceção ValueError é lançada. Anteriormente, `false` era retornado.

### Exemplos

Exemplo #1 Exemplo de assert_options()

    <?php
    // Esta é nossa função para manipular
    // falhas de asserção
    function assert_failure($file, $line, $assertion, $message)
    {
        echo "A asserção $assertion em $file na linha $line falhou: $message";
    }

    // Esta é nossa função de teste
    function test_assert($parameter)
    {
        assert(is_bool($parameter));
    }

    // Define as opções de asserção
    assert_options(ASSERT_ACTIVE,   true);
    assert_options(ASSERT_BAIL,     true);
    assert_options(ASSERT_WARNING,  false);
    assert_options(ASSERT_CALLBACK, 'assert_failure');

    // Cria uma asserção que iria falhar
    test_assert(1);

    // Isto nunca é alcançado devido a ASSERT_BAIL
    // definido como verdadeiro
    echo 'Nunca alcançado';
    ?>

### Veja Também

- assert() - Executa uma asserção

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