xpathのエラー対策

phpでxpathを使っている時に発生したエラー。

foreachでループをしていて、特定のclassの場合の時にifを使って処理しようとしたところ、このようなエラーが。対応方法がわかったので、メモがてら。それにしても。。。オブジェクトの操作あたりってややこしいし、初心者向けのサイトがあまり無いような気がしてならないけど。。。

$value->getAttribute(‘class‘)==null はifでは使えない

classがある場合に処理をしたくて、上記のように記載したが、エラーが出る。他の日本語サイトをみたら、使えないのでまずは変数に入れる「$tmp=$value->getAttribute(‘class’)」にしたあと、分岐がどうのって書いてあったが、それでも解決しなかった。

getAttributeが使えるかどうか?という部分で分岐したいがどうもうまくいかない。。調べても出て来ない。

method_existsを使うとチェックができるらしい

海外のプログラミングの質問サイトを見ると、method_exists を使えと書いてあったので、使ってみたところ、無事に解決できた。

サンプルとしては以下のとおり

if(method_exists($value,'getAttribute')&&$value->getAttribute('class')=="hoge_class"){
///実行したい処理
}

無事に解決してよかった。。。

コメント