(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Définit/récupère différentes options d'assertions
assert_options() permet de modifier les diverses options de la fonction assert(), ou simplement connaître la configuration actuelle.
Note: L'utilisation de assert_options() est déconseillée en faveur de définir et récupérer les directives php.ini zend.assertions et assert.exception avec ini_set() et ini_get(), respectivement.
option
Option | Directive | Valeur par défaut | Description |
---|---|---|---|
ASSERT_ACTIVE | assert.active | 1 | Active l'évaluation de la fonction assert() |
ASSERT_EXCEPTION | assert.exception | 1 | Lance une AssertionError pour chaque assertion échouée |
ASSERT_WARNING | assert.warning | 1 | Génère une alerte PHP pour chaque assertion fausse |
ASSERT_BAIL | assert.bail | 0 | Termine l'exécution en cas d'assertion fausse |
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | Désactive le rapport d'erreur durant l'évaluation d'une assertion. Supprimée à partir de PHP 8.0.0 |
ASSERT_CALLBACK | assert.callback | (null ) |
Fonction de rappel utilisateur, pour le traitement des assertions fausses |
value
Une nouvelle valeur, optionnelle, pour l'option.
La fonction de rappel définie via ASSERT_CALLBACK
ou
assert.callback
devrait avoir la signature suivante :
$file
,$line
,$assertion
,$description
= ?file
line
assertion
null
.
description
Retourne la valeur originale de l'option.
Si option
n'est pas une option valide, une
ValueError est lancée.
Version | Description |
---|---|
8.0.0 |
Si option n'est pas une option valide,
une ValueError est désormais lancée.
Auparavant, false était retourné.
|
Exemple #1 Exemple avec assert_options()
<?php
// Ceci est notre fonction pour gérer les
// erreurs d'assertion
function assert_failure($file, $line, $assertion, $message)
{
echo "L'assertion $assertion dans $file à la ligne $line a échoué : $message";
}
// Ceci est notre fonction de test
function test_assert($parameter)
{
assert(is_bool($parameter));
}
// Définit nos options d'assertion
assert_options(ASSERT_ACTIVE, true);
assert_options(ASSERT_BAIL, true);
assert_options(ASSERT_WARNING, false);
assert_options(ASSERT_CALLBACK, 'assert_failure');
// Une assertion qui doit échouée
test_assert(1);
// Ceci n'est jamais atteint, car ASSERT_BAIL
// vaut true
echo 'Jamais atteint';
?>