Read OSS

php/php-src

5 articles

前提知識

01

php-srcを読み解く:アーキテクチャ、レイヤー構造、そしてリクエストライフサイクル

php-srcリポジトリの全体構造、4つのアーキテクチャレイヤー、SAPIコントラクト、そしてプロセス起動からシャットダウンまでの完全なリクエストライフサイクルを俯瞰します。

02

zval の内側:PHP の型システムとメモリモデル

PHP の根幹をなすデータ構造を深く掘り下げます。16バイトの zval、zend_string、HashTable、zend_object、参照カウント、メモリアロケータ、ガベージコレクタを詳しく解説します。

03

ソースからオペコードへ:PHPのレキサー、パーサー、AST、そしてコンパイラ

PHPソースから実行可能なオペコードに至るコンパイルパイプラインの全貌を追う — re2cレキサー、Bisonパーサー、ASTノードシステム、そして zend_op 命令を出力する再帰的コンパイラの詳細解説。

04

Zend仮想マシン:実行、コード生成、最適化

VMの実行エンジンを詳しく解説します。テンプレートベースのコード生成、5つのディスパッチモード、レジスタピン留め、コールフレームのレイアウト、フック可能な関数ポインタ、SSAベースのオプティマイザについて取り上げます。

05

拡張システム、OPcache、JIT:PHPの拡張と最適化のしくみ

PHP拡張APIの概要から、OPcacheの共有メモリアーキテクチャ、JITコンパイラ、Fiber、ストリーム抽象化、TSRMスレッドセーフ機構までを解説します。