php7+断言

// PHP 7
assert ( mixed $assertion [, Throwable $exception ] ) : bool

// 代码
assert(true == false);

// 运行结果:
Warning: assert(): assert(true == false) failed in E:\work\index.php on line 4

 

// 设置回调函数
assert_options(ASSERT_CALLBACK, 'myAssert');

// 函数
function myAssert($file, $line, $code, $desc)
{
    echo "Assertion Failed: File {$file} Line {$line} Code {$code} Desc {$desc} ";
}

// 执行
assert(true == false, '不可能相等');

// 结果
Assertion Failed: File E:\work\index.php Line 13 Code Desc 不可能相等 
// 
assert(true == false, new AssertionError('异常信息'));

// 结果
Warning: assert(): AssertionError: 异常信息 in E:\work\index.php:4 Stack trace: 

 

 

function func($data) {
    // 一些逻辑
    return true;
}

assert(func(1) === 5, 'func() 测试不通过:');
assert(is_string(func(1)), 'func() 测试不通过:');

// 结果
Warning: assert(): func() 测试不通过: failed in E:\work\index.php on line 10

Warning: assert(): func() 测试不通过: failed in E:\work\index.php on line 11

 

你可能感兴趣的:(编程)