PHP Conference Japan 2020での登壇資料です。
PHP 8 の新機能のふるまいを、php内部のテストコードを通じて、理解する時間を提供します。PHP 8 がもうじきリリースされる昨今で、 PHP 8 についての新機能についての関心も高まってきました。さまざまな新機能の抑え方がありますが、ひとつが、テストコードを通じて対象システムを理解する方法です。
phptというものがあります。これは、 PHP 内部コード、つまり php-src の自動テストスクリプトです。ここには、PHP という言語自体の committer たちがどういう振る舞いを PHP に与えたのか、それがレアケースのユースケースも含めて記述されています。
テストコードを書く皆様であれば、 Test as Document 、仕様を伝えるドキュメントとしてのテスト、を自身が運用するアプリケーションに対して書きますよね。phpt は PHP 8 の新機能に対するテストコードも含んでいます。コードの読み手が、テストコードを通じて、 PHP 自体の振る舞いを理解する。phpt に記述されたコードを通して、phpt の読み方を知り PHP 8 の新機能を押さえましょう。
具体的には、PHP 8 の新機能である Named Arguments・Match expression v2・Nullsafe operator・Union Types v2・Mixed type v2を題材にします。