PHP8の新機能
PHP8で特に気になる新機能をメモしておく
名前付き引数
function test($hoge, $fuga) { print_r(func_get_args()); } test(fuga: 1, hoge: 2); Array ( [0] => 2 [1] => 1 )
null安全オペレータ
途中にnullが入ってくるメソッドチェーンを楽にかけるようになる 今までissetとかでわざわざ判定してたのが一気に省略できるので個人的には一番うれしい機能。
null安全オペレータを使わない場合 php > $hoge = null; php > $hoge->id; // Warning: Attempt to read property "id" on null in php shell code on line 1 php > $hoge?->id; // null
ユニオン型
引数に複数の型を指定したり、戻り値の型を複数定義できる機能 使いすぎは型システムの意味をなくしてしまうので意味がないけど、 地味に重宝する機能だと思う。
function fuga(int|string $hoge) { print_r($hoge); } fuga(1); // 1 fuga("aaa"); // aaa
続く。