【PHP8.x】__constructメソッドの使い方

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

作成日: 更新日:

基本的な使い方

__constructメソッドは、DOMElementオブジェクトを新しく作成(インスタンス化)する際に自動的に実行される特別なメソッドです。このメソッドは、XMLやHTMLドキュメントの構造を操作するPHPのDOM拡張機能において、新しい要素ノードをプログラム的に生成するために使用されます。

具体的には、new DOMElement()という形式で呼び出され、新しいDOMElementインスタンスを初期化します。このメソッドには、主に以下の引数を指定することができます。

  • $name (string): 作成する要素の名前、すなわちタグ名を指定します。例えば、HTMLのdivタグやXMLのitemタグなどがこれにあたります。この引数は必須です。
  • $value (string, 省略可能): 要素のテキストコンテンツ、つまり開始タグと終了タグの間に配置される文字列を指定できます。この引数を省略した場合、要素は空のテキストコンテンツで作成されます。
  • $namespaceURI (string, 省略可能): 要素の名前空間URIを指定します。XMLドキュメントで名前空間を使用する場合に、要素が属する名前空間を定義するために用いられます。

この__constructメソッドによって生成されたDOMElementオブジェクトは、まだどのドキュメントツリーにも追加されていません。作成した要素を実際のドキュメントに組み込むには、DOMDocumentクラスや他のDOMNodeクラスが提供するappendChild()などのメソッドを利用して、既存の親ノードの子として追加する必要があります。

例えば、$newElement = new DOMElement('article', 'これは記事の本文です'); と記述することで、<article>これは記事の本文です</article>に相当するDOM要素のオブジェクトがメモリ上に作成されます。このメソッドは、プログラムによって動的にドキュメント構造を構築する上で非常に重要な役割を果たします。

構文(syntax)

1new DOMElement(string $name, ?string $value = null, ?string $prefix = null);

引数(parameters)

string $qualifiedName, ?string $value = null, string $namespace = null

PHP:

  • string $qualifiedName: 作成する要素の完全修飾名を指定します。
  • ?string $value = null: 要素の初期値を指定する文字列。省略可能です。
  • string $namespace = null: 要素のXML名前空間を指定する文字列。省略可能です。

戻り値(return)

DOMElement

DOMDocument::createElement() メソッドを実行して作成された DOMElement オブジェクト、または DOMDocument::createElementNS() メソッドを実行して作成された DOMElement オブジェクトが返されます。

関連コンテンツ

【PHP8.x】__constructメソッドの使い方 | いっしー@Webエンジニア