PHP7カーネル解析
原创内容,转载请注明出处~
代码版本:php-7.0.12
フィードバック
エラーのフィードバックについて連絡し、苦情を申し立てる
紙版
京東堂堂
目次:
- 第1章 PHPの基本アーキテクチャ
- 1.1 PHP の概要
- 1.2 PHP7 の改善点
- 1.3FPM
- 1.3.1 概要
- 1.3.2 基本的な実装
- 1.3.3 FPMの初期化
- 1.3.4 リクエストの処理
- 1.3.5 プロセス管理
- 1.4 PHP 実行のいくつかの段階
- 第 2 章 変数
- 2.1 変数の内部実装
- 2.2 配列
- 2.3 静的変数
- 2.4 グローバル変数
- 2.5 定数
- 第 3 章 Zend 仮想マシン
- 3.1 PHP コードのコンパイル
- 3.1.1 字句解析と構文解析
- 3.1.2 抽象構文ツリーのコンパイルプロセス
- 3.2 機能実装
- 3.2.1 内部機能
- 3.2.2 ユーザー機能の実装
- 3.3 Zend エンジンの実行プロセス
- 3.3.1 基本構造
- 3.3.2 実行プロセス
- 3.3.3 関数実行の流れ
- 3.3.4 グローバルのexecute_dataとopline
- 3.4 オブジェクト指向の実装
- 3.4.1 クラス
- 3.4.2 オブジェクト
- 3.4.3 継承
- 3.4.4 動的プロパティ
- 3.4.5 魔法のメソッド
- 3.4.6 クラスの自動ロード
- 3.5 ランタイムキャッシュ
- 3.6 オプキャッシュ
- 3.6.1 オペコードキャッシュ
- 3.6.2 オペコードの最適化
- 3.6.3 JIT
- 第 4 章 PHP 基本構文の実装
- 4.1 型変換
- 4.2 構造の選択
- 4.3 ループ構造
- 4.4 割り込みとジャンプ
- 4.5 含む/必須
- 4.6 例外処理
- 第 5 章 メモリ管理
- 5.1 Zend メモリ プール
- 5.2 ガベージコレクション
- 第 6 章 スレッドの安全性
- 6.1 スレッドセーフとは何ですか?
- 6.2 スレッドセーフなリソースマネージャー
- 第 7 章 拡張開発
- 7.1 概要
- 7.2 拡張の実装原則
- 7.3 拡張機能の構成とコンパイル
- 7.3.1 拡張構成
- 7.3.2 コンパイルツール
- 7.3.3 拡張機能を作成するための基本手順
- 7.3.4 config.m4
- 7.4 フック機能
- 7.5 実行時設定
- 7.5.1 グローバル変数
- 7.5.2 ini 設定
- 7.6 機能
- 7.6.1 内部関数の登録
- 7.6.2 関数パラメータの分析
- 7.6.3 パラメータの参照渡し
- 7.6.4 関数の戻り値
- 7.6.5 関数呼び出し
- 7.7 zvalの操作
- 7.7.1 各種zvalを新規生成する
- 7.7.2 zvalの値と型を取得する
- 7.7.3 型変換
- 7.7.4 参照カウント
- 7.7.5 文字列操作
- 7.7.6 配列演算
- 7.8 定数
- 7.9 オブジェクト指向
- 7.9.1 内部クラス登録
- 7.9.2 メンバー属性の定義
- 7.9.3 メンバーメソッドの定義
- 7.9.4 定数の定義
- 7.9.5 クラスのインスタンス化
- 7.10 リソースタイプ
- 7.11 クラシック拡張機能の分析
- 第 8 章 名前空間
- 8.1 概要
- 8.2 名前空間の定義
- 8.3 名前空間の使用
- 8.3.1 基本的な使い方
- 8.3.2 インポートを使用する
- 8.3.3 動的使用法
新しい PHP 機能を実装する
- 1. ブレーク/コンティニューはラベル中断構文に従って実装されます。
- 2.遅延構文
- 3. コルーチン
- 3.1 コルーチンの原理
- 3.2 コンテキストの切り替え