Karponter
@Karponter

Как обойти final конструктор?

В общем решил я немного расширить стандартный SimpleXMLElement для собственных нужд, и мне нужно при инициализации объекта вызвать конструктор родительского класса SimpleXMLElement.
Вот только не тут то было: конструктор родительского класcа оказался финальным, и перегрузить его конструктором наследника не получается.
Вопрос: как обойти?

class MyClass extends SimpleXMLElement {
  function __construct() {
		parent::__construct('<data></data>');
	}
}

PHP Fatal error: Cannot override final method SimpleXMLElement::__construct()
  • Вопрос задан
  • 267 просмотров
Пригласить эксперта
Ответы на вопрос 1
nazarpc
@nazarpc
Open Source enthusiast
class MyClass extends SimpleXMLElement {
  function create_instance() {
    $instance = new self('<data></data>');
    ...
    return $instance;
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час