php/php-src
5 articles
前提知識
- ›Cの基礎知識(構造体、ポインタ、関数ポインタ)
- ›インタープリタ型言語の動作に関する一般的な理解
- ›プロセスライフサイクルの概念への理解
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スレッドセーフ機構までを解説します。