(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Set/get the various assert flags
Set the various assert() control options or just query their current settings.
Note: As of PHP 7.0.0, 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.
what
Option | INI Setting | Default value | Description |
---|---|---|---|
ASSERT_ACTIVE | assert.active | 1 | enable assert() evaluation |
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 |
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
,$description
= ?value
resets the assert callback.
Returns the original setting of any option or false
on errors.
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';
?>