assert_options

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

assert_options — 다양한 assert 플래그 설정/가져오기


설명

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

다양한 assert() 제어 옵션을 설정하거나 현재 설정을 쿼리하십시오.

참고: PHP 7.0.0부터는 각각 ini_set()ini_get()을 사용하여 php.ini 지시문 zend.assertionsassert.exception을 설정하고 가져오기 위해 assert_options() 사용을 권장하지 않습니다.


매개변수

what

Assert Options

Option INI Setting Default value Description
ASSERT_ACTIVE assert.active 1 enable assert() evaluation
ASSERT_WARNING assert.warning 1 실패한 각 어설션에 대해 PHP 경고를 발행합니다.
ASSERT_BAIL assert.bail 0 실패한 어설션에 대한 실행 종료
ASSERT_QUIET_EVAL assert.quiet_eval 0 어설션 표현식 평가 중 error_reporting 비활성화
ASSERT_CALLBACK assert.callback (null) 실패한 어설션에 대한 콜백
value

옵션에 대한 선택적 새 값입니다.

ASSERT_CALLBACK 또는 assert_callback을 통해 설정된 콜백 함수에는 다음 서명이 있어야 합니다.

assert_callback(
    string $file,
    int $line,
    string $assertion,
    string $description = ?
): void
                    

file
assert()가 호출된 파일입니다.
line
assert()가 호출된 라인.
assertion
assert()에 전달된 어설션은 문자열로 변환됩니다.
description
assert()에 전달된 설명입니다.

value으로 빈 문자열을 전달하면 어설션 콜백이 재설정됩니다.


반환 값

옵션의 원래 설정을 반환하거나 오류가 발생하면 false를 반환합니다.


Examples

예제 #1 assert_options() 예제

                  
<?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';
?>