assert_options
(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Define/obtém as várias opções de asserção
Esta função tornou-se DEFASADA a partir do PHP 8.3.0. O uso desta função é fortemente desencorajado.
Descrição
Define as várias opções de controle de assert() ou apenas consulta suas várias configurações.
Note: 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: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().
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_option() agora está defasada. |
8.0.0 |
Se option não for uma opção válida,
uma exceção ValueError é lançada.
Anteriormente, false era retornado.
|
Exemplos
Example #1 Exemplo de assert_options()
<?php
// Esta é nossa função para manipularThis is our function to handle
// 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';
?>