Web スクリプト言語を実行するには、次の 3 つの部分が必要です。
1. 入力コードを分析し、翻訳して実行します
2. 機能部分、言語の機能要件を実行します
3・Webサーバー部分との会話
最初の部分と2番目の部分のごく一部をZendが実行し、残りをPHPが実行します。 Zend は言語の中核であり、いくつかの事前定義された関数に基づいていくつかの基本的な機能を実行します。 PHP にはすべての外部関数モジュールが含まれています。
PHP の拡張には、1. 外部モジュールの拡張、2. PHP のコンパイル時にモジュールと PHP を一緒にコンパイルする、3. zend エンジンを変更する、の 3 つの方法があります。
これら 3 つの方法には、それぞれ長所と短所があります。通常は最初のものを選択します (一般的に使用される gd ライブラリや php5 で使用される mysql ライブラリなど)。利点は、php を再コンパイルする必要がないことです。欠点は、動的モジュールのロードに余分な時間がかかることです。
まず、3 つのヘッダー ファイルを見てください。
1. main の下の php.h ファイルには、多くのシステム .h ファイルが含まれており、システムのコンパイル環境に従って多くの定数、関数、およびマクロが定義されています。いくつかの関数が存在するかどうかを確認し、存在しない場合は、マクロ定義によって、異なる環境で同じ関数を実装する関数を統一します。
2. zend の zend.h 関数はいくつかのデータ構造を定義し、ハッシュやリストなどのいくつかのデータ構造の .h ファイルも含みます。
3. zend の zend_API.h ファイルは、いくつかの関数をマクロとして定義します。これらの関数は主に PHP コードのコンパイルに使用されます。