Forum und email

assert

(PHP 4, PHP 5)

assert — Confere se uma afirmação é FALSE

Descrição

bool 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).

Parâmetros

assertion

A afirmação.

Valor Retornado

FALSE se a afirmação for falsa, TRUE se não.

Exemplos

Example#1 Gerenciando uma afirmação que falhou com uma função do usuário

<?php
// Ativa as afirmações e as deixa quietas
assert_options(ASSERT_ACTIVE1);
assert_options(ASSERT_WARNING0);
assert_options(ASSERT_QUIET_EVAL1);

// 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 ("")');
?>