PHP Handbuch
Zurück |  | Nach vorne

# assert

(PHP 4 )

assert -- Prüft ab, ob eine Bedingung oder Abfrage `FALSE` ist

## Beschreibung

int assert ( string|bool assertion)

assert() überprüft den übergebenen Parameter `assertion` und führt ein über die Funktion assert_options() definiertes Ereignis aus, falls die in `assertion` spezifizierte Bedingung `FALSE` ist.

Wird der Parameter `assertion` als String übergeben, so wird der String als PHP-Code interpretiert. Der Vorteil der Übergabe des Parameters `assertion` als Zeichenkette liegt darin, dass die ausgegebene Meldung die über `assertion` übergebene Zeichenkette enthält.

assert() sollte nur zum Debuggen des Codes und nicht in Produktionsumgebungen verwendet werden werden, beispielsweise zur Überprüfung von Eingaben.

Die Optionen für die assert() können über die Funktion assert_options() oder in den Einstellungen der .ini-Datei gesetzt werden.

Die Funktion assert_options() mit der ASSERT_CALLBACK Direktive ermöglicht eine Funktion anzugeben, die bei fehlender Überprüfung aufgerufen wird.

Callback-Funktionen in Zusammenhang mit assert() sind nützlich, um beispielsweise automatisierte Tests durchzuführen, da die Callback-Funktion pber die Information verfügt, von welcher Stelle sie aufgerufen wurde.

Die Callback-Funktion wird mit drei Parametern aufgerufen. Der erste Parameter enthält den Namen des Scripts, in dem die Überprüfung statt fand, der zweite Parameter die Zeilennummer, und der dritte Paramter enthält die über `assertion` angegebene Bedingung.

Beispiel 1. Überprüfung mit benutzerdefinierter Funktion
    <?php
    // Active assert and make it quiet
    assert_options (ASSERT_ACTIVE, 1);
    assert_options (ASSERT_WARNING, 0);
    assert_options (ASSERT_QUIET_EVAL, 1);

    // Create a handler function
    function my_assert_handler ($file, $line, $code) {
        echo "<hr>Assertion Failed:
            File '$file'<br>
            Line '$line'<br>
            Code '$code'<br><hr>";
    }

    // Set up the callback
    assert_options (ASSERT_CALLBACK, 'my_assert_handler');

    // Make an assertion that should fail
    assert ('mysql_query ("")');
    ?>

Zurück | Zum Anfang | Nach vorne
assert_options | Nach oben | dl