期望是向后兼容的增强到旧 assert() 函数。期望允许在生产代码零成本的断言,并提供在断言失败时抛出自定义异常的能力。assert() 不是一种语言构建体,其中第一个参数是一个表达式的比较字符串或布尔用于测试。
指令 | 默认值 | 可能的值 |
---|---|---|
zend.assertions | 1 |
|
assert.exception | 0 |
|
参数
assertion - 断言。在PHP 5中,这必须是要计算一个字符串或要测试一个布尔值。 在PHP中7,这也可能是一个返回值的表达式,将执行和使用的结果,以指示断言是成功还是失败。
description - 一个可选的描述,如果断言失败,将包括失败消息。
exception-在PHP7,第二个参数可以是一个 Throwable 对象,而不是一个描述字符串,在这种情况下,这是如果断言失败和assert.exception配置指令启用将抛出的对象。
<?php ini_set('assert.exception', 1); class CustomError extends AssertionError {} assert(false, new CustomError('Custom Error Message!')); ?>这将在浏览器产生以下输出 -
Fatal error: Uncaught CustomError: Custom Error Message! in...