assert_options

(PHP 4, PHP 5, PHP 7, PHP 8)

assert_optionsУстановка и получение настроек механизма проверки утверждений

Описание

assert_options(int $option, mixed $value = ?): mixed

Задание значений настроек механизма проверки утверждений 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, должна быть следующая сигнатура:

assert_callback(
    string $file,
    int $line,
    ?string $assertion,
    string $description = ?
): void
file
Файл, в котором была вызвана assert().
line
Строка, в которой была вызвана assert().
assertion
До PHP 8.0.0 утверждение, которое передавалось в функцию assert(), но только если утверждение задано в виде строки. (Если утверждение является булевым условием, этот параметр будет пустой строкой). Начиная с PHP 8.0.0, этот параметр всегда null.
description
Описание, которое было передано в assert().
Передача пустой строки в 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 'Никогда не будет выведено';
?>

Смотрите также

  • assert() - Проверяет утверждение