【PHP8.x】Dom\EntityReference::baseURIプロパティの使い方
baseURIプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『baseURIプロパティは、エンティティ参照ノードが属するドキュメントの基底URIを保持するプロパティです。』
基底URIとは、ドキュメント内で使用されている相対パス(例: ../images/pic.png)を、完全なURLなどの絶対パスに変換するための基準となるURIのことを指します。このプロパティの値は、主にドキュメントが読み込まれた場所(URLやファイルパス)から自動的に決定されます。例えば、XMLドキュメントがウェブサーバー上の特定のアドレスから読み込まれた場合、そのアドレスが基底URIとなります。また、XML文書内で xml:base 属性が指定されている場合は、その値が優先されることもあります。もしドキュメントが特定の場所と関連付けられていない、例えば文字列から直接生成されたり、まだ保存されていなかったりする場合には、このプロパティは null を返すことがあります。baseURIプロパティは読み取り専用であり、直接値を代入して変更することはできません。このプロパティを参照することで、エンティティ参照内で定義されている相対的なリソースへのパスを、プログラムで動的に絶対パスへ解決する際に役立ちます。
構文(syntax)
1<?php 2 3$xml = <<<XML 4<!DOCTYPE document [ 5 <!ENTITY myEntity "entity-value"> 6]> 7<document> 8 <node>&myEntity;</node> 9</document> 10XML; 11 12$doc = new Dom\Document(); 13$doc->loadXML($xml); 14 15$entityReferenceNode = $doc->getElementsByTagName('node')[0]->firstChild; 16 17// Dom\EntityReference オブジェクトの baseURI プロパティを取得します 18$baseUri = $entityReferenceNode->baseURI; 19 20var_dump($baseUri); 21 22?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
?string
Dom\EntityReference クラスの baseURI プロパティは、エンティティ参照の基本 URI を表す文字列、または URI が設定されていない場合は null を返します。