assert_options
(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Setzt oder liefert Assert-Optionen
Beschreibung
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; stattdessen sollten die php.ini-Optionen zend.assertions und assert.exception durch ini_set() und ini_get() gesetzt bzw. gelesen werden.
Parameter-Liste
-
what
-
Assert-Optionen Option INI-Option Standardwert Beschreibung ASSERT_ACTIVE assert.active 1 Aktiviert die assert()-Überprüfung. 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
)Die Funktion, die bei fehlgeschlagener Überprüfung aufgerufen wird. -
value
-
Ein optionaler neuer Wert für die Option.
Die Callback-Funktion, die per
ASSERT_CALLBACK
oder assert.callback gesetzt wurde, sollte folgende Signatur haben:assert_callback(
string$file
,
int$line
,
string$assertion
,
string$description
= ?
): void
value
setzt den Assert-Callback zurück.
Rückgabewerte
Gibt die Einstellung der gesetzten Optionen zurück oder false
bei
Auftreten eines Fehlers.
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 Assertion $assertion in $file in Zeile $line schlug fehl: $message";
}
// Das ist unsere Testfunktion
function test_assert($parameter)
{
assert(is_bool($parameter));
}
// Wir setzen unsere Assert-Optionen
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';
?>