(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Setzt oder liefert Assert-Optionen
Diese Funktion ist seit PHP 8.3.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieser Funktion wird dringend abgeraten.
assert_options() ermöglicht es, die verschiedenen assert()-Optionen zu setzen, oder abzufragen, welche Optionen gesetzt sind.
Hinweis:
Von der Verwendung von assert_options() wird abgeraten; stattdessen sollten die php.ini-Optionen zend.assertions und assert.exception durch ini_set() und ini_get() gesetzt bzw. gelesen werden.
option
| Option | INI-Option | Standardwert | Beschreibung |
|---|---|---|---|
| ASSERT_ACTIVE | assert.active | 1 | Aktiviert die assert()-Überprüfung. |
| ASSERT_EXCEPTION | assert.exception | 1 | Löst für jede fehlgeschlagene Assertion einen AssertionError aus |
| 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. Entfernt in PHP 8.0.0. |
| ASSERT_CALLBACK | assert.callback | (null) |
Die Funktion, die bei fehlgeschlagener Überprüfung aufgerufen wird. |
valueEin optionaler neuer Wert für die Option.
Die Callback-Funktion, die per ASSERT_CALLBACK
oder assert.callback gesetzt
wurde, sollte folgende Signatur haben:
$file,$line,$assertion,$description = ?fileDie Datei, in der assert() aufgerufen wurde.
lineDie Zeile, in der assert() aufgerufen wurde.
assertion
Vor PHP 8.0.0 die Assertion, die an assert()
übergeben wurde, aber nur wenn die Assertion als Zeichenkette
angegeben wird (ist die Assertion eine boolesche Bedingung, dann
ist dieser Parameter eine leere Zeichenkette). Seit PHP 8.0.0 ist
dieser Parameter immer null.
descriptionDie Beschreibung, die an assert() übergeben wurde.
value
setzt den Assert-Callback zurück.
Gibt die Einstellung der gesetzten Optionen zurück.
Wenn option keine gültige Option ist, wird ein
ValueError ausgelöst.
| Version | Beschreibung |
|---|---|
| 8.3.0 | assert_options() ist nun veraltet. |
| 8.0.0 |
Wenn option keine gültige Option ist, wird ein
ValueError ausgelöst; zuvor wurde false
zurückgegeben.
|
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';
?>