PHP 8 の新機能
(stitcher.io)今年末に発表される PHP 8 に追加されるもの
-
Union 型 :
int|float形式、|nullは? -
JIT
-
static戻り値型 -
オブジェクトの参照を保存する
WeakMap -
オブジェクトで
get_class()の代わりに::class -
DateTime::createFromInterface() -
fdiv関数 -
組み込み関数に対する type annotation
互換性を壊す変更
-
組み込み関数も
TypeErrors例外を投げる -
警告だけを出していた多くのエラーが、適切な例外を投げるように変更
-
デフォルトのエラーレポートレベルが
E_ALLになり、静かに無視されていた多くのエラーが見えるようになる -
@演算子が致命的なエラーを無視しなくなる -
'+'、'-'と'.'連結演算子の優先順位を調整。+/-が'.'より先に処理される
2件のコメント
やはりメジャーバージョンアップは互換性が壊れるのが醍醐味ですよね! (…)
新機能よりも、下のほうにあるエラーおよび例外処理の部分が変わるのが大きいですね。
よく分からないままそのままアップグレードしてしまうと、これまで静かにエラーを無視して通り過ぎていた PHP サイトで問題が起きそうです