assert_options()
assert_options() — Set/get the various assert flags.
Built-in function of PHP 8.5. The manual lists it as available in PHP 4, PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
What it does
Set the various assert() control options or just query their current settings.
Signature
assert_options(int $option, mixed $value = ?): mixed assert_callback(string $file, int $line, ?string $assertion, string $description = ?): void
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| $option | int | Assert Options Option INI Setting Default value Description ASSERT_ACTIVE assert.active 1 enable assert() evaluation ASSERT_EXCEPTION assert.exception 1 throws an AssertionError for each failed assertions ASSERT_WARNING assert.warning 1 issue a PHP warning for each failed assertion ASSERT_BAIL assert.bail 0 terminate execution on failed assertions ASSERT_QUIET_EVAL assert.quiet_eval 0 disable error_reporting during ... |
| $value | mixed | An optional new value for the option. |
Return value
Returns the original setting of any option.
Example
A runnable snippet:
// This is our function to handle // assert failures function assert_failure($file, $line, $assertion, $message) { echo "The assertion $assertion in $file on line $line has failed: $message"; } // This is our test function function test_assert($parameter) { assert(is_bool($parameter)); } // Set our assert options assert_options(ASSERT_ACTIVE, true); assert_options(ASSERT_BAIL, true); assert_options(ASSERT_WARNING, false); assert_options(ASSERT_CALLBACK, 'assert_failure'); // Make an assert that would fail test_assert(1); // This is never reached due to ASSERT_BAIL // being true echo 'Never reached';
Changelog
| Version | Change |
|---|---|
| 8.3.0 | assert_options() is now deprecated. |
| 8.0.0 | If option is not a valid option, a ValueError is now thrown. Previously false was returned. |
See also
All PHP 8.5 built-in functions
Reference card built from the PHP manual page assert_options() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.