(PHP 4, PHP 5, PHP 7)
assert_options — Setzt oder liefert die Assert-Optionen
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.
what
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:
$file
, int $line
, string $assertion
[, string $description
] ) : voidvalue
setzt den Assert-Rückruf zurück.
assert_options() gibt die Einstellung der
gesetzten Optionen zurück oder liefert den Wert FALSE
bei
Auftreten eines Fehlers zurück.
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';
?>