PHPのソースコードが実行されるまでの流れ
PHPのソースコードが、実行されるまでを勉強したのでメモ。
実際にコードを書く時に意識することはないですが、エラーのデバッグ時に役立つので、知っておいた方が良さそうです。
概略
PHPプログラムが実行される度に、内部的にソースコードのコンパイルを行います。
コンパイルされた結果が、「オペコード(Opcodes: Operation codes)」と呼ばれる中間コードです。
そのオペコードを実行マシンが実行することで、PHPのプログラムが動作できます。
コンパイルの流れ図
少し詳細
ソースコードのコンパイルするまでの流れを詳細に見ると、「レキサー(Lexer)」と「パーサー(Parser)」というプログラムの処理を行っています。
レキサーとは字句解析を行うプログラムのことで、PHPプログラムを解析し、構文をバラバラのトークンに分解します。
パーサーとは構文解析と意味解析(コード生成)を行うプログラムのことで、レキサーによって生成されたトークンをパースし、オペコードへ変換します。