【PHP】Trying to get property 'methods' of non-object in 〜 のエラー解決方法


はじめに

エラーログでTrying to get property 'methods' of non-object in 〜って出てきたことはありませんか?
存在しない変数のプロパティやnullの値を参照した時にこのエラー発生するもので、私たまに出てくるんですが大概の場合はすぐ解決できます。
今回は実務でこのエラーが出てきて(配属されてすぐなので人のコードの修正でした...)その修正でした。

issetを用いてエラーを解決

Trying to get property 'methods' of non-object in 〜のエラーなのですが、存在しない変数のプロパティやnullの値を参照した時にこのエラー発生するの、issetやisnullなどの関数を使うとチェック出来ます。
今回はissetで解決したのですが、前の部分で実装していたforeachループが効いていて後続の処理でエラーが起きていました。
なので今回の対象の部分に

isset($hoge)

と実装すると解決します。

おわりに

ちゃんと実装できているかの確認は画面の動作確認と、storage/logs配下のエラーログで特に何も出てこなくなれば大丈夫だと思います。