PHP 7.4.9 Released!

assert_options

(PHP 4, PHP 5, PHP 7)

assert_optionsSetzt oder liefert die Assert-Optionen

Beschreibung

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

assert_options() ermöglicht es, die verschiedenen assert() Optionen zu setzen, oder abzufragen, welche Optionen gesetzt sind.

Hinweis: Von PHP 7.0.0 an wird die Verwendung von assert_options() nicht mehr empfohlen; statt dessen sollten die php.ini Direktiven zend.assertions und assert.exception durch ini_set() und ini_get() gesetzt bzw. gelesen werden.

Parameter-Liste

what

assert Optionen
Option Parameter in .ini-Datei Standardwert Beschreibung
ASSERT_ACTIVE assert.active 1 assert() Überprüfung aktivieren
ASSERT_WARNING assert.warning 1 gibt eine PHP-Warnung für jede fehlgeschlagene Überprüfung aus
ASSERT_BAIL assert.bail 0 Beendet das Programm bei fehlgeschlagener Überprüfung
ASSERT_QUIET_EVAL assert.quiet_eval 0 Unterdrückt die Fehlerausgabe während der Überprüfung
ASSERT_CALLBACK assert_callback (NULL) Funktion, die bei fehlgeschlagener Überprüfung aufgerufen wird

value

Ein optionaler neuer Wert für die Option.

Die Rückruffunktion, die per ASSERT_CALLBACK oder assert.callback gesetzt wurde, sollte folgende Signatur haben:

assert_callback ( string $file , int $line , string $assertion [, string $description ] ) : void
file
Die Datei, in der assert() aufgerufen wurde.
line
Die Zeile, in der assert() aufgerufen wurde.
assertion
Die Zusicherung, die an assert() übergeben wurde, zu einer Zeichenkette konvertiert.
description
Die Beschreibung, die an assert() übergeben wurde.

Die Übergabe einer leeren Zeichenkette als value setzt den Assert-Rückruf zurück.

Rückgabewerte

assert_options() gibt die Einstellung der gesetzten Optionen zurück oder liefert den Wert FALSE bei Auftreten eines Fehlers zurück.

Beispiele

Beispiel #1 assert_options() Beispiel

<?php
// Das ist unsere Funktion zur Behandlung von
// fehlgeschlagenen Überprüfungen
function assert_failure($file$line$assertion$message)
{
    echo 
"Die Zusicherung $assertion in $file in Zeile $line schlug fehl: $message";
}

// Das ist unsere Testfunktion
function test_assert($parameter)
{
    
assert(is_bool($parameter));
}

// Wir setzen unsere Überprüfungsoptionen
assert_options(ASSERT_ACTIVE,   true);
assert_options(ASSERT_BAIL,     true);
assert_options(ASSERT_WARNING,  false);
assert_options(ASSERT_CALLBACK'assert_failure');

// Wir führen eine Überprüfung durch, die fehlschlägt
test_assert(1);

// Dies wird nie erreicht, weil ASSERT_BAIL 
// true ist
echo 'Unerreicht';
?>

Siehe auch

  • assert() - Prüft ab, ob eine Zusicherung FALSE ist

add a note add a note

User Contributed Notes 1 note

up
1
17 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