- PHP 7 教程
- PHP 7 - 主页
- PHP 7 - 简介
- PHP 7 - 性能
- PHP 7 - 环境设置
- PHP 7 - 标量类型声明
- PHP 7 - 返回类型声明
- PHP 7 - 空合并运算符
- PHP 7 - 宇宙飞船操作员
- PHP 7 - 常量数组
- PHP 7 - 匿名类
- PHP 7 - 闭包::call()
- PHP 7 - 过滤反序列化()
- PHP 7 - 国际字符
- PHP 7 - CSPRNG
- PHP 7 - 期望
- PHP 7 - use 语句
- PHP 7 - 错误处理
- PHP 7 - 整数除法
- PHP 7 - 会话选项
- PHP 7 - 已弃用的功能
- PHP 7 - 删除的扩展和 SAPI
- PHP 7 有用资源
- PHP 7 - 快速指南
- PHP 7 - 有用的资源
- PHP 7 - 讨论
PHP 7 - 期望
期望是对旧的assert() 函数的向后兼容增强。Expectation 允许在生产代码中进行零成本断言,并提供在断言失败时抛出自定义异常的能力。assert() 现在是一种语言构造,其中第一个参数是一个表达式,而不是要测试的字符串或布尔值。
assert() 的配置指令
指示 | 默认值 | 可能的值 |
---|---|---|
zend.断言 | 1 | 1 - 生成并执行代码(开发模式) 0 - 生成代码但在运行时跳过它 -1 - 不生成代码(生产模式) |
断言异常 | 0 | 1 - 当断言失败时,通过抛出作为异常提供的对象或通过抛出新的AssertionError对象(如果未提供异常)来抛出。 0 - 如上所述使用或生成 Throwable,但仅根据该对象生成警告而不是抛出它(与 PHP 5 Behave兼容) |
参数
断言- 断言。在 PHP 5 中,这必须是要计算的字符串或要测试的布尔值。在 PHP 7 中,这也可以是任何返回值的表达式,该表达式将被执行,结果用于指示断言是成功还是失败。
描述- 如果断言失败,将包含在失败消息中的可选描述。
异常- 在 PHP 7 中,第二个参数可以是Throwable对象而不是描述性字符串,在这种情况下,如果断言失败并且启用了assert.exception配置指令,则这是将抛出的对象。
返回值
如果断言为假,则为 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...