首页 > 解决方案 > 自 PHP 7 起不支持使用已弃用的 PHP4 样式类构造函数

问题描述

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

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

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

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

我该如何解决?

标签: phpwordpresswarnings

解决方案


将函数更改为:

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 中有一个不推荐使用的构造函数


推荐阅读