PHP 7.4.0RC6 Released!

assert_options

(PHP 4, PHP 5, PHP 7)

assert_optionsFixe et lit différentes options d'assertions

Description

assert_options ( int $what [, mixed $value ] ) : mixed

assert_options() permet de modifier les diverses options de la fonction assert(), ou simplement connaître la configuration actuelle.

Note: À partir de PHP 7.0.0, l'utilisation de assert_options() est déconseillé 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

what

Options d'assertions
Option Directive Valeur par défaut Description
ASSERT_ACTIVE assert.active 1 Active l'évaluation de la fonction assert()
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
ASSERT_CALLBACK assert.callback (NULL) Fonction de rappel utilisateur, pour le traitement des assertions fausses

value

Une nouvelle valeur, optionnelle, pour l'option.

Valeurs de retour

Retourne la valeur originale de l'option, ou bien FALSE en cas d'erreur.

Exemples

Exemple #1 Exemple avec assert_options()

<?php
// Ceci est notre fonction pour gérer les
// erreurs d'assertion
function assert_failure()
{
    echo 
'Échec de l\'assertion';
}

// 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 si une assertion est fausse

add a note add a note

User Contributed Notes 3 notes

up
1
keithy at consultant dot com
5 months ago
To reset the callback:

assert_options(ASSERT_CALLBACK,null); // does not work  

assert_options(ASSERT_CALLBACK,"");  // appears to work
up
0
Patrick Schulz
7 hours ago
The correct signature of the callback function is:

function assert_failure($file, $line, $assertedString, $message)

$assertedString is usually empty if the assertion was a boolean expression. Otherwise it contains the evaluated string.
up
0
16 years ago
Here is an exemple how to use the assertion callback function :

<?php
  assert_options
( ASSERT_CALLBACK, 'assert_callback');

  function
assert_callback( $script, $line, $message ) {
    echo
'You have a design error in your script <b>', $script,'</b> : line <b>', $line,'</b> :<br />';
    echo
'<b>', ereg_replace( '^.*//\*', '', $message ), '</b><br /><br />';
    echo
'Open the source file and check it, because it\'s not a normal behaviour !';
    exit;
  }

 
$x = 3;
 
assert('is_integer( $x ) && ($x >= 0) && ($x <= 10); //* $x must be an integer value from 0 to 10' );
  echo
"0 <= $x <= 10";
?>

assertion is usefull for "design by contract" methodology ...
To Top