くわこのpermission denied.

WEBエンジニアの僕がぶつかった技術的な問題や発見

PHP Warning: Creating default object from empty valueってなに?

ある日普段と変わりなくコーディングをしていたところ、

 PHP Warning:  Creating default object from empty value

というエラーが出たので一体なんなのかと思って調べたところ、PHP5.4以降出るようになったwarningだったということでまとめました。

 

私は今までCodeIgniterで変数に対して即時stdClass生成してプロパティを増やすような書き方をしていました。

$user->id = 1000; 

 みたいな書き方です。

これがPHP5.2までは容認されていましたが、5.3でstrictエラー、5.4でwarningエラーまで出るようになりました。

warningまでくると無視するのもはばかられるのでちゃんとクラスの宣言をしましょうということで

$user = new stdClass;

$user->id = 1000;

みたいな書き方をしましょう、というお話でした。

 

参考URL:http://blog.wnotes.net/blog/article/php5_4-stdclass-warning