【问题标题】:Use of deprecated PHP4 style class constructor is not supported since PHP 7自 PHP 7 起不支持使用已弃用的 PHP4 样式类构造函数
【发布时间】:2021-11-16 19:45:39
【问题描述】:

我正在尝试升级托管在 SiteGround 上的我的 WP 网站的 PHP 版本。升级工具显示此错误:

33 |警告 |不推荐使用已弃用的 PHP4 样式类构造函数 自 PHP 7 起支持

这是我在给定位置找到的代码:

function gc_XmlBuilder($indent = '  ') {
  $this->indent = $indent;
  $this->xml = '<?xml version="1.0" encoding="utf-8"?>'."\n";
}

我该如何解决这个问题?

【问题讨论】:

  • 哇,PHP 4?您是否考虑过更新您的 WordPress?
  • 这个错误是针对我安装的 WordPress 主题,而不是针对 WordPress 本身。主题的开发者有一段时间没有更新它,这让我很难保持我网站的 PHP 版本更新!

标签: php wordpress warnings


【解决方案1】:

将函数改为:

function __construct($indent = '  ') {
  $this->indent = $indent;
  $this->xml = '<?xml version="1.0" encoding="utf-8"?>'."\n";
}

因为您过去可以通过类名定义构造函数,但自 PHP 7 起已被弃用:

不推荐使用 PHP 4 样式的构造函数(与定义它们的类同名的方法),并将在未来删除。如果 PHP 4 构造函数是类中定义的唯一构造函数,PHP 7 将发出 E_DEPRECATED。实现 __construct() 方法的类不受影响。

错误示例,根据文档:

不推荐使用:与其类同名的方法在 PHP 的未来版本中将不再是构造函数; foo 在第 3 行的 example.php 中有一个不推荐使用的构造函数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 2017-05-02
    • 2013-10-28
    • 2021-09-10
    • 2017-12-04
    • 1970-01-01
    相关资源
    最近更新 更多