PHP8で未定義変数、未定義配列キーを参照すると警告が出るようになったことへの雑な対応

set_error_handler関数でエラー発生時に発生したエラーの種類を確認して、未定義変数、未定義配列キー関係のエラーであれば無視、それ以外は通常の処理をするように変更する。
こんな対応をしちゃって本当に良いのか?という気はするが……。

// 特定種類のWarningは無視する設定
set_error_handler(function($errno, $errstr, $errfile, $errline){
	// Warning無視
	if (str_starts_with($errstr, "Undefined variable"                                 ) == true) { return true; } // 未定義の変数を参照
	if (str_starts_with($errstr, "Undefined array key"                                ) == true) { return true; } // 未定義の配列キーを参照
	if (str_starts_with($errstr, "Trying to access array offset on value of type null") == true) { return true; } // 未定義の変数を、配列であるかのようにアクセスしようとした

	// その他は通常のエラーハンドラが処理を引き継ぎぐ
	return false;
}, E_WARNING);