PHP 7 anormal
PHP 7 exceção para compatibilidade com versões anteriores e reforçada a função assert de idade (). Ele pode alcançar a zero afirmação de custos em um ambiente de produção, e para obter uma exceção é lançada e a capacidade de personalizar erro.
As versões antigas da API para fins de compatibilidade continuará a ser mantida, afirmar () é agora uma estrutura de linguagem que permite que o primeiro argumento é uma expressão, não apenas uma string para ser calculada a ser testado ou um booleano.
assert () Configuração
item de configuração | omissão | Valores disponíveis |
---|---|---|
zend.assertions | 1 |
|
assert.exception | 0 |
|
parâmetros
- afirmação
Afirmação. No PHP 5, é um valor booleano para uma cadeia de execução ou para testes. No PHP 7, você pode retornar um valor de qualquer expressão, ele será usado para indicar os resultados da afirmação é bem sucedido.
- descrição
Se a
assertion
falhar, a opção será incluído na descrição na informação de falha.- exceção
No PHP 7, o segundo parâmetro pode ser um objeto Throwable em vez de uma seqüência, se a afirmação falhar e permitiu assert.exception o objeto será lançada.
Exemplos
Os zend.assertions definido para 0:
Exemplos
ini_set ( 'zend.assertions', 0) ;
assert (verdadeiros == false);
echo 'Oi!';
?>
A saída de execução de programa acima é:
Hi!
Os zend.assertions definidos para 1, assert.exception definido como 1:
Exemplos
ini_set ( 'zend.assertions', 1) ;
ini_set ( 'assert.exception', 1) ;
assert (verdadeiros == false);
echo 'Oi!';
?>
A saída de execução de programa acima é:
Fatal error: Uncaught AssertionError: assert(true == false) in -:2 Stack trace: #0 -(2): assert(false, 'assert(true == ...') #1 {main} thrown in - on line 2