フロントエンド・PHPカンファレンス北海道2026
トーク(15分)
PHP フロントエンド

TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する

did0es did0es did0es
5

サービスの開発にTypeScriptを利用していると、クライアントとサーバーのモノレポで型を共有するパターンがあります。
同じ言語であればすんなり型を共有できますが、異なる言語の場合は少し工夫が必要です。

このトークでは、TypeScriptで書いた型をサーバーサイドのPHPで扱うために行った工夫を紹介します。
具体的には、以下の内容となっています。

・TypeScript Compiler APIでTypeScriptの型をASTに変換し、FormDataの型を抽出
・FormDataのASTをPHPで読み込める形式(JSON)に変換
・PHP-ParserでJSONをPHPDoc Typesに変換し、$_FILES から指定したキーで値を取得するメソッドにセット
・PHPStanで型チェックが可能に(存在しないキーを指定した場合型エラーに)
・FormData以外の応用例

対象者は、TypeScriptとPHPのいずれかに触れたことがあり、型やASTに関心のある方を想定しています。