# assert_options

(PHP 4, PHP 5, PHP 7, PHP 8)

assert_options — Définit/récupère différentes options d'assertions

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 8.3.0. Dépendre de cette fonction est fortement déconseillé.

### Description

assert_options(int `$option`, mixed `$value` = ?): mixed

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.

### Liste de paramètres

`option`

  Options d'assertions
  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 :

  assert_callback(
  string `$file`,
  int `$line`,
  ?string `$assertion`,
  string `$description` = ?
  ): void
  `file`
    Le fichier assert() a été appellé.
  `line`
    La ligne où assert() a été appellé.
  `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`.
  `description`
    La description qui a été fournie à assert().

### Valeurs de retour

Retourne la valeur originale de l'option.

### Erreurs / Exceptions

Si `option` n'est pas une option valide, une ValueError est lancée.

### Historique

Version | Description
--- | ---
8.3.0 | assert_option() 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é.

### Exemples

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';
?>`

### Voir aussi

- assert() - Vérifie une assertion