PHPカンファレンス香川2025
レギュラートーク (30分+Q&A5分)

ASTの力でPHPをminifyする

takaram71 takaram takaram71
1

PHP-Parserを利用すると、PHPのコードを抽象構文木 (AST) に変換したり、逆にASTをソースコードとして出力したりすることができます。

ASTの一部を書き換えることもでき、たとえばRectorはこれを利用してソースコードの書き換えを行います。

この技術を利用すると、PHPコードをminifyすることも可能です。
minifyはソースコードの空白の除去や変数名の短縮などにより、ソースコード全体のサイズを圧縮することです。JavaScriptやHTML、CSSでは、ブラウザ↔サーバー間の転送量削減のためによく行われます。

WASMを使いブラウザ上でPHPを動かす事例も増えている昨今、PHPコードをminifyしながらASTの力を感じてみませんか?

話すこと

  • ASTとは
  • ASTを使ってPHPコードをminifyする方法
    • 同一のASTになる最小のコードの出力
    • 同じ意味・動作の異なるASTへの書き換え

想定観客

  • 抽象構文木を知らない人
  • ASTが何の役に立つか分からない人
  • PHPをブラウザで動かしている人