(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — Установка и получение настроек механизма проверки утверждений
Задание значений настроек механизма проверки утверждений assert() или получение их текущих значений.
Замечание: Использование assert_options() не рекомендуется в пользу установки и получения php.ini директив zend.assertions и assert.exception с помощью ini_set() и ini_get() соответственно.
option
Настройка | INI-параметр | Значение по умолчанию | Описание |
---|---|---|---|
ASSERT_ACTIVE | assert.active | 1 | включение механизма проверки утверждений |
ASSERT_EXCEPTION | assert.exception | 1 | выбрасывает AssertionError для каждого неудачного утверждения |
ASSERT_WARNING | assert.warning | 1 | вывод предупреждения PHP для каждой неудачной проверки |
ASSERT_BAIL | assert.bail | 0 | завершить выполнение в случае неудачной проверки |
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | отключить error_reporting во время проверки утверждения. Удалено начиная с PHP 8.0.0. |
ASSERT_CALLBACK | assert.callback | (null ) |
Callback-функция, которую необходимо вызвать для провалившего проверку утверждения |
value
Необязательный аргумент, новое значение настройки.
У callback-функции, установленной с помощью ASSERT_CALLBACK
или assert.callback,
должна быть следующая сигнатура:
$file
,$line
,$assertion
,$description
= ?file
line
assertion
null
.
description
value
сбрасывает assert callback.
Возвращает исходное значение настройки.
Функция выбрасывает ValueError,
если параметр option
не является допустимой опцией.
Версия | Описание |
---|---|
8.0.0 |
Если параметр option не является допустимой опцией,
теперь выбрасывается ошибка ValueError;
ранее возвращалось значение false .
|
Пример #1 Пример использования assert_options()
<?php
// Наша функция обработчик
// неудавшихся проверок
function function assert_failure($file, $line, $assertion, $message)
{
echo "Проверка $assertion в $file на строке $line провалена: $message";
}
// Тестовая функция
function test_assert($parameter)
{
assert(is_bool($parameter));
}
// настройки проверки
assert_options(ASSERT_ACTIVE, true);
assert_options(ASSERT_BAIL, true);
assert_options(ASSERT_WARNING, false);
assert_options(ASSERT_CALLBACK, 'assert_failure');
// заведомо ошибочное утверждение
test_assert(1);
// Этот код не будет выполняться, пока ASSERT_BAIL
// равен true
echo 'Никогда не будет выведено';
?>