PHP调试功能[断言]

作者: 乘风御上者 分类: PHP 发布时间: 2020-04-30 22:39

在php中若没接触过单元测试相关功能,就很可能不了解断言功能。php中的断言相关功能只在代码测试阶段使用,正式环境都是注释掉的。

和断言功能相关的函数主要就两个:assert() 与 assert_option()

assert_options(int $what [, mixed $value ]): mixed

该函数主要是对 assert()函数进行控制和功能约束

// 默认1:是否允许使用assert()函数
assert_options(ASSERT_ACTIVE, 1);

// 默认0:assert()失败后是否终止代码执行
assert_options(ASSERT_BAIL, 0);

// 默认1:assert()失败后是否输出警告信息
assert_options(ASSERT_WARNING, 1);

// 函数名:assert()失败后执行指定的回调函数
assert_options(ASSERT_CALLBACK, '回调函数名');

// 默认0:assert()在断言表达式求值时禁用 error_reporting 功能
assert_options(ASSERT_QUIET_EVAL, 0);

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

该函数参一为表达式(php7.2之前可以是字符串代码段),当表达式为假时则该函数执行失败。参二可选为错误对象

// 代码
assert(true == false, new AssertionError('异常信息'));

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

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复