【PHP8.x】baseURIプロパティの使い方

baseURIプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『baseURIプロパティは、XMLドキュメントのベースURIを保持するプロパティです。』ベースURIとは、文書内で使用される相対パス(例えば、../schema.xsdのような記述)を解釈する際の基準となるURLやファイルパスのことです。このプロパティは読み取り専用であり、値を直接変更することはできません。例えば、load()メソッドを使ってファイルやURLからXMLドキュメントを読み込んだ場合、このプロパティにはその読み込み元の場所が自動的に設定されます。これにより、XML文書内に記述された外部DTDやエンティティなどの相対的な参照を正しく解決できます。一方で、loadXML()メソッドを使って文字列からドキュメントを生成した場合や、まだ保存されていない新規ドキュメントの場合、基準となる場所が存在しないため、baseURIプロパティはnullを返します。ドキュメントの出所を確認したり、相対パスの解決基点を動的に把握したりする際に重要な役割を果たします。

構文(syntax)

1<?php
2
3$xmlString = '<?xml version="1.0" encoding="UTF-8"?><root/>';
4$file = 'my-document.xml';
5
6// テスト用のXMLファイルを作成
7file_put_contents($file, $xmlString);
8
9// Dom\XMLDocument オブジェクトを作成
10$doc = new Dom\XMLDocument();
11
12// ファイルからXMLを読み込む
13$doc->load($file);
14
15// baseURI プロパティにアクセスして値を取得・表示
16// この値は load() したファイルのURI (多くの場合、絶対パス) になります
17$uri = $doc->baseURI;
18var_dump($uri);
19
20// 後片付け
21unlink($file);
22
23?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string|null

このプロパティは、XMLドキュメントの基底URIを文字列またはnullで返します。

関連コンテンツ

【PHP8.x】baseURIプロパティの使い方 | いっしー@Webエンジニア