巨大なマクロのかたまりです。既存のソースを見ていると、その中にはいかにもグルーバル変数のような顔をしているパラメーター変数があったりします。事前に知っておくとソースが追いやすくなるので、最初にご紹介しておきます。マクロを例に取り、引数の扱いを調べてみます。いう関数定義に展開されるということがわかります。文字列の連結を指示するためのプリプロセッサへの命令です。デバッグする際にはこれらのシンボルが見えるようになります。モジュールをロードした後、最初に呼び出される処理です。渡していることがわかります。他にも同様のマクロがあるかもしれません。グローバル変数のように見えます。以下のように定義されています。定義は以下の通りです。スクリプト)に返される値です。関数は、公式ドキュメントによると以下のように定義されています。型に相当する値をセットして返す必要があります。最後の方に、この拡張モジュール全体の構造を示すモジュールエントリの構造体があります。この構造体の中身は、ほぼ変更する必要はありません。開発にあたっては、必要に応じてこれらのマクロの中身を埋めていきます。これらの役目は以下の通りです。このモジュールが最初にロードされた際に呼ばれるコールバック関数。PHP_MSHUTDOWNこのモジュールがアンロードされる時(通常はシャットダウン時)に呼ばれるコールバック関数。各リクエストの開始時に呼ばれるコールバック関数。各リクエストの終了時に呼ばれるコールバック関数。-m)が呼び出された際に呼ばれるコールバック関数。6PHP_(モジュール名)_VERSIONそのモジュールのバージョン情報。中にデフォルトの定義を作成します。作者が上書きして指定します。初期化処理や終了処理が複数あるのは、ライフサイクルの違いから来るものです。