採択 2020/12/12 15:20〜 Track5 (PHP8 Special) Regular session (25 mins)

PHP 8 の新機能を PHP内部コードのテスト phpt から読む PHP Conference Japan 2020

21
hgsgtk 東口和暉 hgsgtk

PHP 8 の新機能のふるまいを、php内部のテストコードを通じて、理解する時間を提供します。

PHP 8 がもうじきリリースされる昨今で、 PHP 8 についての新機能についての関心も高まってきました。さまざまな新機能の抑え方がありますが、ひとつが、テストコードを通じて対象システムを理解する方法です。

phptというものがあります。これは、 PHP 内部コード、つまり php-src の自動テストスクリプトです。
ここには、PHP という言語自体の comitter たちがどういう振る舞いを PHP に与えたのか、それがレアケースのユースケースも含めて記述されています。

テストコードを書く皆様であれば、 Test as Document 、仕様を伝えるドキュメントとしてのテスト、を自身が運用するアプリケーションに対して書きますよね。phpt は PHP 8 の新機能に対するテストコードも含んでいます。

コードの読み手が、テストコードを通じて、 PHP 自体の振る舞いを理解する。phpt に記述されたコードを通して、次の2つを学びましょう。

  1. phpt とは何か、その読み方がわかる
  2. PHP 8 の新機能を抑える

具体的には、PHP 8 の新機能を題材にします。想定しているお品書きは以下です。

  • Named Arguments
  • Match expression v2
  • Nullsafe operator
  • Union Types v2
  • Mixed type v2

※ もし、時間が許せば、上記の機能を実現するために、PHP内部の zend_compiler などにどういう変更があったか、まで軽く紹介します

Track ID: Track5-4-A
Discord Channel: #track5-4-a-phpt