ホームページ  >  記事  >  バックエンド開発  >  php がどのように説明するか

php がどのように説明するか

silencement
silencementオリジナル
2019-09-27 10:31:012446ブラウズ

php がどのように説明するか

php はコンパイル関数 zend_compile_file() を呼び出してコンパイルします。この関数の具体的な実装には、実際には字句解析 (Lex 実装) と構文解析 (Yacc 実装) という 2 つの主要なプロセスが含まれます。この関数を実行すると、php スクリプトのコンパイルが完了します。この関数の入力は: php スクリプト ファイル、出力は op_array です。簡単に言うと、コンパイル プロセスはスクリプトを php 仮想マシンが処理できる命令に解析することであり、op_array はこれらの命令です。これは単なる配列です。 (これは、一部の

コンパイル言語によって生成されるアセンブリ コードに非常に似ており、一連のコマンドでもあります)。

PHP 仮想マシンは、zend_execute() 関数を呼び出して実行します。この関数の入力は、上記のコンパイル段階で生成された op_array であり、各コマンドを解析して処理します。 op コマンドは合計で約 150 個あるため、この 150 個のコマンドを処理する必要があります。ここで非常に興味深い疑問が生じます。これらの 150 個のコマンド

# はどのように処理されるのでしょうか?まず、各コマンドには、処理に対応するプロセッサがあります。したがって、仮想マシンは、op_array 内の各コマンドのタイプに基づいて、対応するプロセッサに分散されて処理されます。

以上がphp がどのように説明するかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。