assert_options
(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Set/get the various assert flags
Description
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.
Parameters
-
what
-
Assert Options 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:assert_callback(
string$file
,
int$line
,
string$assertion
,
string$description
= ?
): void
value
resets the assert callback.
Return Values
Returns the original setting of any option or false
on errors.
Examples
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';
?>