PHP8で交差型宣言が可能になる
TL;DR
PHP8.1から、以下の記法で交差型宣言が可能になる。
<?php class sampleA { private countUpClass&countDownClass $countClass; ... }
解説
上記の例で言えば、countUpClass型か、countDownClass型を受け入れる。それ以外は受け付けない変数として宣言できる。
今まではアノテーションに以下のように指定するなどの方法しかなく、PHPの自然な言語構造に組み込まれていなかった。
<?php /** @var Traversable&Countable */ private $both = null;
今回の変更によりPHPの言語構造として組み込まれることとなる。 適応バージョンはPHP8.1。
出展: wiki.php.net
目まぐるしい変化が続き、別物と捉えられることもある今回のPHP8へのバージョンアップ。ふるい落とされないようにしていきたい。