PHP7期望如何正确使用,才能避免常见错误?

2026-04-06 10:291阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计623个文字,预计阅读时间需要3分钟。

PHP7期望如何正确使用,才能避免常见错误?

PHP7+的期望是加强向后兼容性,特别是对旧有的assert()函数的支持。期望允许在生产代码中零成本地断言,同时在断言失败时抛出自定义异常。assert()不是一个语言构建体,其第一个参数是一个表达式。

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

配置指令assert()

指示默认值可能的值zend.assertions1

1 \- 生成并执行代码(开发模式)

0 \- 生成代码,但在运行时跳过它

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

assert.exception0

1 \- 当断言失败时抛出异常提供的对象,或者在没有提供异常的情况下抛出一个新的 AssertionError 对象。

0 \- 如上所述使用或生成Throwable,但仅生成基于该对象的警告而不是抛出它(与PHP 5行为兼容)

参数:

  • 断言 - 断言。 在PHP 5中,它必须是要评估的字符串或要测试的布尔值。在PHP 7中,这也可以是任何返回值的表达式,该值将被执行并且结果用于指示断言是成功还是失败。

  • 描述 - 如果断言失败,则将包含在失败消息中的可选描述。

  • 异常 - 在PHP 7中,第二个参数可以是 Throwable 对象而不是描述性字符串,在这种情况下,如果断言失败并且启用了 assert.exception 配置指令,则这是将要抛出的对象。

返回值

如果断言是假的则返回FALSE , 反之则返回TRUE

PHP7期望如何正确使用,才能避免常见错误?

实例:

<?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...

本文共计623个文字,预计阅读时间需要3分钟。

PHP7期望如何正确使用,才能避免常见错误?

PHP7+的期望是加强向后兼容性,特别是对旧有的assert()函数的支持。期望允许在生产代码中零成本地断言,同时在断言失败时抛出自定义异常。assert()不是一个语言构建体,其第一个参数是一个表达式。

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

配置指令assert()

指示默认值可能的值zend.assertions1

1 \- 生成并执行代码(开发模式)

0 \- 生成代码,但在运行时跳过它

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

assert.exception0

1 \- 当断言失败时抛出异常提供的对象,或者在没有提供异常的情况下抛出一个新的 AssertionError 对象。

0 \- 如上所述使用或生成Throwable,但仅生成基于该对象的警告而不是抛出它(与PHP 5行为兼容)

参数:

  • 断言 - 断言。 在PHP 5中,它必须是要评估的字符串或要测试的布尔值。在PHP 7中,这也可以是任何返回值的表达式,该值将被执行并且结果用于指示断言是成功还是失败。

  • 描述 - 如果断言失败,则将包含在失败消息中的可选描述。

  • 异常 - 在PHP 7中,第二个参数可以是 Throwable 对象而不是描述性字符串,在这种情况下,如果断言失败并且启用了 assert.exception 配置指令,则这是将要抛出的对象。

返回值

如果断言是假的则返回FALSE , 反之则返回TRUE

PHP7期望如何正确使用,才能避免常见错误?

实例:

<?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...