Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】DOMEntityReference::cloneNode()メソッドの使い方

cloneNodeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『cloneNodeメソッドは、既存のエンティティ参照ノード(DOMEntityReferenceオブジェクト)を複製し、新しいノードを作成するために実行するメソッドです。このメソッドは、引数にブール値を指定することで、複製の深さを制御できます。引数にtrueを渡した場合、「ディープクローン」として動作し、対象となるエンティティ参照ノードだけでなく、そのノードが持つすべての子孫ノードも再帰的にコピーします。これにより、ノードの構造全体が完全に複製された新しいノードが生成されます。一方、引数にfalseを渡すか、引数を省略した場合は「シャロークローン」として動作し、エンティティ参照ノード自体のみを複製します。この場合、子ノードは一切コピーされません。メソッドの実行が成功すると、複製された新しいDOMEntityReferenceオブジェクトが返されます。この返されたノードは、元のドキュメントからは独立しており、ドキュメントツリーに挿入するにはappendChildメソッドなどを使用する必要があります。もしノードの複製に失敗した場合には、このメソッドはfalseを返します。

構文(syntax)

1<?php
2
3$document = new DOMDocument();
4$entity_reference = $document->createEntityReference('entity_name');
5
6// DOMEntityReference オブジェクトの複製を生成します
7$cloned_node = $entity_reference->cloneNode();
8
9?>

引数(parameters)

bool $deep = false

  • deep: bool = false: true を指定すると、ノードとそのすべての属性および子ノードが再帰的にコピーされます。false の場合、ノードのみがコピーされ、子ノードはコピーされません。

戻り値(return)

DOMNode|false

DOMEntityReference オブジェクトのコピーを返します。コピーは、元のノードと同じ内容と属性を持つ新しい DOMEntityReference オブジェクトです。操作が失敗した場合は false を返します。

関連コンテンツ

関連プログラミング言語