PHP7期望

期望是向后兼容的增强到旧 assert() 函数。期望允许在生产代码零成本的断言,并提供在断言失败时抛出自定义异常的能力。assert() 不是一种语言构建体,其中第一个参数是一个表达式的比较字符串或布尔用于测试。

配置指令assert()

指令 默认值  可能的值
zend.assertions 1
  • 1 - 生成并执行代码(开发模式)

  • 0 - 生成代码,但它在运行时

  • -1 - 不生成代码(生产模式)

assert.exception 0
  • 1 - 当断言失败时抛出,要么抛出的异常,或者通过抛出一个新的 AssertionError 对象提供的对象,如果没有提供异常

  • 0 - 使用或与上述生成的Throwable,但只能根据该对象的警告,而不是(与PHP 5兼容的行为)把它抛出

参数

  • assertion - 断言。在PHP 5中,这必须是要计算一个字符串或要测试一个布尔值。 在PHP中7,这也可能是一个返回值的表达式,将执行和使用的结果,以指示断言是成功还是失败。

  • description - 一个可选的描述,如果断言失败,将包括失败消息。

  • exception-在PHP7,第二个参数可以是一个 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...
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3