PHP 7的期望 PHP 7 CSPRNG PHP 7使用Statement 期望 是对旧的assert()函数的向后兼容增强。期望允许生产代码中的零成本断言,并且可以在断言失败时提供自定义异常。assert()现在是一种语言结构,其中第一个参数是一个表达式,而不是被测试的字符串或布尔值。 assert()的配置指令 指示 默认值 可能的值 zend.assertions 1 1 \- 生成并执行代码(开发模式) 0 \- 生成代码,但在运行时跳过它 -1 \- 不生成代码(生产模式) assert.exception 0 1 \- 当断言失败时抛出异常提供的对象,或者在没有提供异常的情况下抛出一个新的 AssertionError 对象。 0 \- 如上所述使用或生成Throwable,但仅生成基于该对象的警告而不是抛出它(与PHP 5行为兼容) 参数 断言 - 断言。 在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... PHP 7 CSPRNG PHP 7使用Statement