(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Définit/récupère différentes options d'assertions
Cette fonction est OBSOLÈTE à partir de PHP 8.3.0. Dépendre de cette fonction est fortement déconseillé.
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 |
valueUne 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 = ?fileLe fichier assert() a été appelé.
lineLa ligne où assert() a été appelé.
assertion
Antérieur à PHP 8.0.0, le premier paramètre de la fonction assert() était l'assertion passée,
mais seulement lorsque l'assertion était fournie sous forme de chaîne de caractères.
(Si l'assertion était une condition booléenne, ce paramètre était une chaîne vide.)
À partir de PHP 8.0.0, ce paramètre est toujours null.
descriptionLa description qui a été fournie à assert().
Retourne la valeur originale de l'option.
Si option n'est pas une option valide, une
ValueError est lancée.
| Version | Description |
|---|---|
| 8.3.0 | assert_options() est désormais obsolète. |
| 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 échouer
test_assert(1);
// Ceci n'est jamais atteint, car ASSERT_BAIL
// vaut true
echo 'Jamais atteint';
?>