Zend エンジン
Zend エンジンは PHP 実装の中核であり、言語実装のインフラストラクチャを提供します。 PHP 言語の中核となる Zend Engine は、PHP ソース コード ディレクトリの Zend サブディレクトリに存在します。
なぜ Zend Engine なのか ?
·PHP3 は解釈と実行を同時に行う動作モードを採用しており、動作効率が非常に悪いです。
コード全体の結合度は比較的高く、スケーラビリティは十分ではありません。 1997 年、Zeev Suraski と Andi Gutmans は、これら 2 つの問題を解決するためにコードを書き直すことにしました。 最終的に、彼らはこのテクノロジーのコアエンジンを Zend Engine と名付けました。Zend とは Zeev Andi を意味します。
関連する推奨事項: 「php 基本チュートリアル
」Zend エンジン関数
最初にプリコンパイル (コンパイル) してから実行しますまた。
字句解析 (Lexer): コードをトークン Toekn に分割します。
文法解析 (パーサー): 文法チェック。
オペレーション コード (オペコード) の生成: Zend エンジンはこれらのトークンをコンパイルし、コードをオペコードにコンパイルし、対応するパラメータと関数呼び出しをバインドします。
実行: Zend エンジンはこれらのオペコードを実行します。
メモリ管理
詳細なプロセスは次のとおりです。
PHP ソース コードディレクトリ構造
/ :主要包含一些说明文件以及设计方案。 Zend :Zend 引擎的实现目录。包括词法语法解析,OPCODE,提供语言运行环境。 TSRM :线程安全资源管理器。 build:放置一些和源码编译相关的一些文件。 ext :官方扩展目录。包括array系列,pdo系列,spl系列等函数的实现。 main :最为核心的文件,实现PHP的基本设施。 pear :PHP 扩展与应用仓库。 sapi :各种服务器抽象层的代码。例如apache的mod_php,cgi,fastcgi以及fpm等等接口。 tests:PHP的测试脚本集合。 scripts:Linux 下的脚本目录。 win32:Windows平台相关的一些实现。
PHP コア
PHP コアは、Zend Engine と PHP Core の 2 つの部分で構成されます。 PHP コアは SAPI 層にバインドされており、PHP は上位の「サーバー」との通信を抽象化し、すべてのロジックを SAPI に抽象化してカプセル化します。上位層サーバーの場合、PHP への呼び出しは SAPI を通じて行うことができ、「分離と統合」を実現します。
SAPI を呼び出す一般的な方法は次のとおりです。
·mod_php5: Apache 用の PHP モジュール。
·
CGI: フォークして実行。
Fastcgi: ロングライブ型 CGI。
CLI: PHP コマンドライン モード。
###PHP のアーキテクチャ###############以上がphp はどのエンジンに基づいていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。