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

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

作成日: 更新日:

基本的な使い方

strictErrorCheckingプロパティは、DOMDocumentオブジェクトがXMLやHTML文書をパース(解析)する際のエラーチェックの厳格さを制御するためのプロパティです。DOMDocumentクラスに属しており、主にXMLやHTML文書をプログラムで操作する際に利用されます。

このプロパティのデフォルト値はtrueであり、厳格なエラーチェックが行われます。trueに設定されている場合、DOMDocumentオブジェクトは読み込む文書の構文規則に厳密に従います。例えば、要素名や属性値にXML/HTMLの仕様で許可されていない不正な文字が含まれる場合など、構文エラーが検出されると処理を中断し、エラーを発生させます。これは、不正な文書によってアプリケーションが予期せぬ動作をすることを防ぎ、高い品質と安全性を確保するために非常に重要です。

一方、このプロパティをfalseに設定すると、DOMDocumentオブジェクトは構文エラーを厳しくチェックせず、エラーを無視して可能な限り文書のパースを試みます。これにより、多少の構文エラーが含まれる文書でも読み込みを続行できるようになり、柔軟な処理が可能になります。しかし、その結果として生成されるDOMツリーが不完全であったり、期待通りの構造にならない可能性があるため、信頼性の低い外部データを扱う際には慎重な判断が必要です。

このプロパティは、DOMDocumentオブジェクトに文書をロードする前に設定する必要があります。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3
4// strictErrorChecking プロパティを設定する例(厳密なエラーチェックを無効に設定)
5$dom->strictErrorChecking = false;
6
7// strictErrorChecking プロパティを取得する例
8$currentSetting = $dom->strictErrorChecking;
9?>

引数(parameters)

戻り値(return)

bool

DOMDocument::strictErrorChecking プロパティは、DOMDocument が厳密なエラーチェックを行うかどうかを示す真偽値 (boolean) です。true の場合は厳密なエラーチェックが行われ、false の場合は行われません。

関連コンテンツ