首页 > 后端开发 > php教程 > 为什么 PHP 5.2 中不允许抽象静态类方法?

为什么 PHP 5.2 中不允许抽象静态类方法?

DDD
发布: 2024-11-16 07:54:03
原创
932 人浏览过

Why Are Abstract Static Class Methods Not Allowed in PHP 5.2 ?

在 PHP 5.2 中,为什么不允许抽象静态类方法?

最初的编码没有严格的警告,现在项目在启用它们后会触发大量警告。其中有一个关于抽象父类 Program 中的抽象静态函数的警告。根据文档,抽象静态函数在 PHP 5.0.x 和 5.1.x 中无意中被允许,并且不再被允许。

为什么抽象静态函数不应该存在?

PHP 5.2 缺乏后期静态绑定,在 PHP 5.3 中可用。此功能使父类方法可以调用其子类的静态方法。如果没有它,PHP 5.2 中的抽象静态方法将无效,因为父类无法调用子类静态方法。

传奇仍在继续

在引入后期静态绑定后,抽象静态方法重新获得相关性。尽管如此,警告仍然存在。虽然有人认为抽象静态方法可能会导致在抽象类中暴露损坏的公共方法,但这个论点被认为很弱。

错误报告 53081 的奇怪案例

请求 PHP 错误报告 53081删除警告。该报告最初被认为是伪造的,后来由于 PHP 的创建者 Rasmus Lerdorf 的误解而被认为是伪造的。

PHP 7 中的解决方案

该警告将在 PHP 7 中删除感谢 Nikita Popov 的 PHP RFC:重新分类 E_STRICT 通知。这种向理智的转变将允许开发人员利用抽象静态方法,而不会遇到 PHP 5.2 中遇到的错误警告。

以上是为什么 PHP 5.2 中不允许抽象静态类方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板