概要
PHPの知識が7.3から止まっているので8.1までの新機能を駆け足でキャッチアップする。
PHP 7.3.x - PHP 7.4.x
新機能
型付きプロパティ
アロー関数
Null合体代入演算子
配列内でのアンパック
FFI(Foreign Function Interface)
PHPから別言語を呼び出せる。 Goのcgoみたいなやつ。
preload
opcacheにスクリプトを事前ロードする機能が追加された。
PHP 7.4.x - PHP 8.0.x
新機能
名前付き引数
アトリビュート
アノテーションの新機能。
union型
引数、戻り地、プロパティに対してunion型を宣言できるようになった。
match式
nullsafe演算子
null安全なコードが書きやすくなる。
PHP 8.0.x - PHP 8.1.x
新機能
文字列をキーとして持つ配列のアンパック
列挙型
Fibers
完全なスタックを持つ、停止可能な関数。コールスタックのどこからでも停止・再開が可能。 非同期処理が書ける。
交差型
unionが型のORなら、交差型は型のAND。
never型
戻り値にのみ指定できる型。関数がexit()するか例外を投げるか終了しないかを示す。 voidとは違う。
所感
どんどん型を意識したコードが書きやすくなってきている印象。 下位互換性は流し読みしかしていないのでアプデ対応のときでも再度読み直したい。