Использование устаревшего конструктора класса в стиле PHP4 не поддерживается начиная с PHP 7 - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь обновить версию PHP моего WP-сайта, размещенного на SiteGround.Инструмент Upgrader показывает эту ошибку:

33 |ВНИМАНИЕ |Использование устаревшего конструктора класса в стиле PHP4 не поддерживается, поскольку PHP 7

Это код, который я нашел в указанном месте:

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

Как это исправить?

1 Ответ

0 голосов
/ 10 июня 2018

Измените функцию на:

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

Как вы привыкли определять конструкторов через имя класса, и это устарело с PHP 7 :

Конструкторы стиля PHP 4 (методы с тем же именем, что и класс, в котором они определены) устарели и будут удалены в будущем.PHP 7 будет выдавать E_DEPRECATED, если конструктор PHP 4 является единственным конструктором, определенным в классе.Классы, которые реализуют метод __construct (), не затрагиваются.

Пример ошибки согласно документации:

Устаревший: методы с тем же именем, что и их класс, не будутбыть конструкторами в будущей версии PHP;foo имеет устаревший конструктор в example.php в строке 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...