PHPには細かくレベル分けされたエラーが用意されていて、開発時にはこれがないとすぐ迷子になっちゃう。
たいがいデフォルトでは、

error_reporting = E_ALL & ~E_NOTICE

となっていて、E_NOTICE(警告)とE_STRICT(注意)は知らんぷり。
実際のところ、警告も注意もプログラムの実行に影響はないんで別にいいんだけど、根はまじめで完璧主義な僕はサッカーだったら警告2枚で退場だしなぁとか考えちゃう。
だから、エラーというエラーはすべて吐かせる。

error_reporting = E_ALL | E_STRICT
display_errors = On