class BetterDOMDocument extends DOMDocument
{
function __construct($version = null, $encoding = null) {
parent::__construct($version, $encoding);
}
}
このコードは、バージョン属性が空の XML ヘッダーを生成します。
ただし、コンストラクターを次のように定義することはできません。
function __construct($version, $encoding) {}
引数を渡さずにこのコンストラクターを使用したい場合、PHPは未定義変数の使用について不平を言うからです。
DOMDocument
渡す必要はありません$version
。値を渡さない場合はデフォルトが使用されます。特定のデフォルト値を複製することなく、基本クラスの引数処理を変更せずにコンストラクターをオーバーライドするにはどうすればよいですか?
私がこれに興味を持っているのは、回避策が必要な問題という観点からではなく、PHP 言語設計の観点からです。PHP で DOMDocument の動作を再現できますか?それとも、内部コードが未定義の値を処理する方法について何か特別なことがありますか?