上下文:
在 PHP 8.1 中,指定返回类型方法变得更加普遍,导致与现有的冲突实现。
问题:
当方法的返回类型从兼容类型更改为不兼容类型或未指定时,会出现以下弃用通知:
Deprecated: Return type of [Method Name] should either be compatible with ..., or the #[\ReturnTypeWillChange] attribute should be used...
返回类型协方差的影响:
PHP 7.0 引入了返回类型,确保基于指定契约调用代码的行为一致。扩展或实现类必须维护相同或更具体的返回类型。
弃用背景:
随着 PHP 8.0 中 Union 类型的添加,内部函数和方法获得了返回类型规格。但是,强制执行这些类型会破坏向后兼容性。相反,针对暂定更改引入了弃用通知。
#[\ReturnTypeWillChange] 属性的用途:
此属性指示返回类型的计划更改。 PHP 8.1 忽略标有此属性的方法的弃用通知,从而允许支持较旧的 PHP 版本。
要做什么:
注意: PHP 中可能会强制执行返回类型9.0,因此计划相应地处理 #[\ReturnTypeWillChange] 属性。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3