Manual do PHP
Anterior |  | Próxima

# assert

(PHP 4, PHP 5)

assert -- Confere se uma afirmação é `FALSE`

## Descrição

int assert ( mixed assertion )

assert() se a afirmação `assertion` é falsa e toma a ação apropriada.

Se o parâmetro `assertion` é dado como uma string ela será avaliada como código PHP pela função assert(). As vantagens da string `assertion` são menor sobrecarga quando conferir se a afirmação é verdadeira e mensagens contendo `assertion` quando a afirmação é falsa. Isto indica que se você passar uma condição booleana(verdadeiro ou falso) como `assertion` esta condição não será mostrado como parâmetro da função de afirmação, o qual você deve ter definido com a função assert_options(), a condição é convertida para uma string antes que a função gerenciadora seja chamada e o booleano `FALSE` é convertido para uma string vazia.

Afirmações devem ser usadas apenas com a intenção de eliminar erros. Você deve usa-las para testar condições que devam ser sempre `TRUE` e que indiquem algum erro de programação se não for ou para verificar a existência de certas coisas como a disponibilidade de funções de algum módulo ou limites e recursos do sistema.

Afirmações não devem ser usadas para operações em tempo de execução normais como para conferir certo valor de entrada. Como uma dica de uso, o seu código deve funcionar corretamente mesmo que o teste de afirmações não esteja ativado.

O funcionamento de assert() pode ser configurado por assert_options() ou pelas configurações descritas na pagina do manual para estas funções.

A função assert_options() e/ou a diretiva de configuração ASSERT_CALLBACK permitem configurar uma função para ser chamada no caso de falha da afirmação.

Funções chamadas a partir de falhas de assert() são particularmente úteis quando estiver criando sistemas automáticos para testes porque permitem que você capture facilmente o código passado para a afirmação em conjunto com informações sobre onde a afirmação foi feita. Enquanto esta informação pode ser capturada por outros métodos, usar afirmações torna muito mais fácil e rápido!

A função utilizada para processar as afirmações devem aceitar três argumentos. O primeiro irá conter o arquivo onde houve a falha na afirmação. O segundo argumento irá conter a linha onde a afirmação falhou e o terceiro argumento irá conter a expressão que falhou (se houver alguma - valores literais como 1 ou "dois" não serão passados por este argumento).

Exemplo 1. Gerenciado uma afirmação que falhou com uma função do usuário
`<?php // Ativa as afirmações e as deixa quietas assert_options(ASSERT_ACTIVE, 1); assert_options(ASSERT_WARNING, 0); assert_options(ASSERT_QUIET_EVAL, 1); // Cria a função do usuário que será chamada quando a afirmação falhar function my_assert_handler($file, $line, $code) { echo "<hr>Afirmação falhou: Arquivo '$file'<br /> Linha '$line'<br /> Código '$code'<br /><hr />"; } // Define a função assert_options(ASSERT_CALLBACK, 'my_assert_handler'); // Faz uma afirmação que irá falhar assert('mysql_query ("")'); ?>`

Anterior | Principal | Próxima
assert_options | Acima | dl