Les exceptions PHP 7 sont utilisées pour la compatibilité ascendante et l'amélioration de l'ancienne fonction assert(). Il permet des assertions sans coût dans les environnements de production et offre la possibilité de générer des exceptions et des erreurs personnalisées.
L'ancienne version de l'API continuera d'être maintenue à des fins de compatibilité. assert() est désormais une construction de langage qui permet au premier argument d'être une expression, pas seulement une chaîne à évaluer ou un booléen. à tester.
configuration assert()
paramètres
- assertion
Affirmation. En PHP 5, une chaîne pour l'exécution ou un booléen pour les tests. En PHP 7, il peut s'agir d'une expression qui renvoie n'importe quelle valeur, et le résultat sera utilisé pour indiquer si l'assertion a réussi.
- description
Si
assertion
échoue, la description de l'option sera incluse dans le message d'échec.- exception
En PHP 7, le deuxième paramètre peut être un objet Throwable au lieu d'une chaîne de caractères qui être lancé si l'assertion échoue et que assert.exception est activé.
Instance
Définissez zend.assertions sur 0 :
Instance
<?php ini_set('zend.assertions', 0); assert(true == false); echo 'Hi!'; ?>
Le programme ci-dessus est exécuté Le résultat de sortie est :
Hi!
Définissez zend.assertions sur 1 et assert.exception sur 1 :
Instance
<?php ini_set('zend.assertions', 1); ini_set('assert.exception', 1); assert(true == false); echo 'Hi!'; ?>
L'exécution du programme ci-dessus sortie Le résultat est :
Fatal error: Uncaught AssertionError: assert(true == false) in -:2 Stack trace: #0 -(2): assert(false, 'assert(true == ...') #1 {main} thrown in - on line 2