3 ポイント 投稿者 xguru 2020-02-04 | 2件のコメント | WhatsAppで共有

今年末に発表される PHP 8 に追加されるもの

  • Union 型 : int|float 形式、|null?

  • JIT

  • static 戻り値型

  • オブジェクトの参照を保存する WeakMap

  • オブジェクトで get_class() の代わりに ::class

  • DateTime::createFromInterface()

  • fdiv 関数

  • 組み込み関数に対する type annotation

互換性を壊す変更

  • 組み込み関数も TypeErrors 例外を投げる

  • 警告だけを出していた多くのエラーが、適切な例外を投げるように変更

  • デフォルトのエラーレポートレベルが E_ALL になり、静かに無視されていた多くのエラーが見えるようになる

  • @ 演算子が致命的なエラーを無視しなくなる

  • '+''-''.' 連結演算子の優先順位を調整。+/-'.' より先に処理される

2件のコメント

 
kunggom 2020-02-04

やはりメジャーバージョンアップは互換性が壊れるのが醍醐味ですよね! (…)

 
xguru 2020-02-04

新機能よりも、下のほうにあるエラーおよび例外処理の部分が変わるのが大きいですね。

よく分からないままそのままアップグレードしてしまうと、これまで静かにエラーを無視して通り過ぎていた PHP サイトで問題が起きそうです