PHP 7 - 期望值

首页 / PHP7+ / Expectations

期望值(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...

这一章《PHP 7 - 期望值》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

相关文章

React实战进阶45讲 -〔王沛 - 46讲〕

玩转webpack -〔程柳锋 - 84讲〕

全栈工程师修炼指南 -〔熊燚(四火) - 46讲〕

深入浅出云计算 -〔何恺铎 - 19讲〕

virtctl 在通过命令行执行而不是从 php exec() 执行时有效

来自带有 CONCAT 的 REGEXP 的“重复运算符操作数无效”

codeigniter 4 mysql 查询 distinct 或 groupby

配置:错误:请重新安装 libzip 发行版

如何去除 PHP 变量中的空格?

Laravel 请求使用查询字符串获取当前路径

视频推荐〔PHP7+ - 27.声明数组的方式〕

更多视频 »
好记忆不如烂笔头。留下你的足迹吧 :)