期望值(Expectations)是对旧版assert()函数的向后兼容增强。 assert()现在是一种语言构造,与要测试的字符串或布尔值相比,第一个参数是表达式。
指令 | 默认值 | 可能的值 |
---|---|---|
zend.assertions | 1 | 1 - 生成并执行代码(开发模式) 0 - 生成代码,但在运行时跳转 -1 - 不生成代码(生产模式) |
assert.exception | 0 | 1 - 在断言失败时抛出,要么抛出作为异常提供的对象,要么抛出新的 AssertionError 对象(如果未提供异常)。 0 - 如上所述使用或生成Throwable,但仅基于该对象生成警告,而不是将其抛出(与PHP 5行为兼容) |
assertion - 断言在PHP 5中,它必须是要判断的字符串或要测试的布尔值。在PHP 7中,这也可以是任何返回值的表达式,该表达式将被执行,并且输出用于指示断言是成功还是失败。
description - 如果断言失败,将包含在失败消息中的可选描述。
exception - 在PHP 7中,第二个参数可以是 Throwable 对象,而不是描述性字符串,在这种情况下,这将是如果断言失败并且启用了 assert.exception配置指令,则抛出该异常。
FALSE (如果断言为false),否则为 TRUE 。
<?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...
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)