(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Set/get the various assert flags
This function has been DEPRECATED as of PHP 8.3.0. Relying on this function is highly discouraged.
Set the various assert() control options or just query their current settings.
Note: The use of assert_options() is discouraged in favor of setting and getting the php.ini directives zend.assertions and assert.exception with ini_set() and ini_get(), respectively.
option
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 assertion expression evaluation. Removed as of PHP 8.0.0. |
ASSERT_CALLBACK | assert.callback | (null ) |
Callback to call on failed assertions |
value
An optional new value for the option.
The callback function set via ASSERT_CALLBACK
or
assert.callback
should have the following signature:
file
line
assertion
null
.
description
value
resets the assert callback.
Returns the original setting of any option.
If option
is not a valid option a
ValueError is thrown.
Version | Description |
---|---|
8.3.0 | assert_option() is now deprecated. |
8.0.0 |
If option is not a valid option,
a ValueError is now thrown.
Previously false was returned.
|
Example #1 assert_options() example
<?php
// 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';
?>