class BetterDOMDocument extends DOMDocument
{
function __construct($version = null, $encoding = null) {
parent::__construct($version, $encoding);
}
}
Этот код сгенерирует заголовок XML с пустым атрибутом версии.
Однако я не могу просто определить конструктор следующим образом:
function __construct($version, $encoding) {}
Потому что теперь PHP жалуется на использование неопределенной переменной, если я хочу использовать этот конструктор без передачи аргументов.
DOMDocument
не требует передачи $version
, будет использоваться значение по умолчанию, если я не передам значение.Как я могу переопределить конструктор, оставив неизменной обработку аргументов базового класса, не дублируя определенные значения по умолчанию?
Меня интересует это не с точки зрения проблемы, в которой я застрял, которая нуждается вОбходной путь, но с точки зрения дизайна языка PHP.Можно ли и как так воспроизвести поведение DOMDocument в PHP или есть что-то особенное в том, как внутренний код может обрабатывать неопределенные значения?