だいぶ昔に作ったお問い合わせのプログラムを新たに設置したら「Deprecated」という見たことがないエラーが表示されました。
調べてみると、5.3から追加されたエラー定義で「E_DEPRECATED」と「E_USER_DEPRECATED」が追加されています。
今更ですがこのエラー何!?ってなったので書いておきます!
このエラーはどういうエラーなの?
どんな時にでてくるエラーなのか?それは、非推奨となっている関数などが見つかった場合に表示されます。
今後廃止予定の物は早めに潰して行かなくてはいけないので今までバージョンアップするたびにソース内を探して対応していましたが、このエラーが出てくれれば一発でわかるようになります。
エラーの表示について
Deprecated: Assigning the return value of new by reference is deprecated in
上記エラーは、クラスを参照渡ししている場合に表示されます。
参照渡しを意識しなくても大丈夫になっているという事ですね!
// 参照渡しでの書き方 $class =& new className(); // 普通の書き方に変更するだけ $class = new className();
Deprecated: Function split() is deprecated in
これは非推奨となっている関数があるよと教えてくれています。
上記の例では「split」がNGになっています。
さいごに
5.3なんてもう古いですけど、少しずつ進化しています。
PHPの公式サイトみたら既に「PHP 7.0.0 Beta 2 Released」と表示されていました!
いや、6どこいった(笑)
これからも進化し続けるPHPですが、バージョンアップのリスクを考えるとなかなか手を出しにくいな…