|
DOMDocument::registerNodeClass基底ノード型を作成する際に使用する拡張クラスを登録する 説明
public bool DOMDocument::registerNodeClass(string
$baseClass , stringnull $extendedClass )このメソッドにより、独自に拡張した DOM クラスを登録することができます。 これを、後で PHP DOM 拡張モジュールで使用します。 このメソッドは、DOM の標準にはないものです。 警告
登録済みのクラスの、インスタンスのコンストラクタはコールされません。 パラメータ
戻り値
成功した場合に 例
例1 新しいメソッドを DOMElement に追加し、コードを書きやすくする
<?php 上の例の出力は以下となります。 <?xml version="1.0"?> <root><child foo="bar"/></root>
例2 カスタムクラス形式での要素の取得
<?php 上の例の出力は以下となります。 string(9) "myElement" text in child
例3 オーナードキュメントの取得 自作の DOMDocument インスタンスを作成すると、 ownerDocument プロパティが作成元のクラスを指すようになります。 しかし、そのクラスへの参照が全て削除されると、 そのクラスは削除され、新しい DOMDocument が代わりに作成されます。よって、 DOMDocument::registerNodeClass を、 DOMDocument と一緒に使うことができます。
<?php 上の例の出力は以下となります。 string(13) "MyDOMDocument" string(11) "DOMDocument" string(18) "MyOtherDOMDocument" string(18) "MyOtherDOMDocument"
例4 カスタムオブジェクトは一時的なもの 警告
登録されたノードクラスは、一時的なものです。 つまり、PHPコードから参照されなくなった時には破棄され、 再度取得される際に再生成されます。 これは、カスタムプロパティの値は再生成された時に失われるということです。
<?php 上の例の出力は以下となります。 modified value default value |