PHP は現在最も人気のある Web バックエンド開発言語の 1 つであり、Node.js の開発に伴い、Node.js を使用して Web アプリケーションを作成する人が増えています。この場合、PHP プログラムで Node.js モジュールを使用する方法が議論する価値のあるトピックになります。この記事では、PHP プログラムで Node.js モジュールをインストールして使用する方法について説明します。
1. Node.js モジュールと PHP プログラムの関係
Node.js と PHP はまったく異なる開発言語と実行環境であり、アプリケーションのシナリオも異なります。 Node.js は高性能でリアルタイムのインタラクティブな Web アプリケーションに適しており、PHP は Web アプリケーションを迅速に構築し、複雑なビジネス ロジックを処理するのに適しています。 2 つのアプリケーション シナリオは異なりますが、実際の Web アプリケーションでは連携して連携することがよくあります。
PHP では、以下に示すように、exec または system 関数を使用してコマンド ラインを実行できます。
<?php $result = exec('node -e "console.log(\'Hello World\')"'); echo $result; // output: Hello World ?>
上記のコードは、ノードを実行することでコマンド ラインを実行し、Hello World を出力します。その出力は exec 関数の戻り値として使用され、最終的に戻り値が出力されます。
この場合、exec 関数を使用して Node.js プログラムを実行し、PHP を通じて出力結果を取得できます。ただし、単純なコマンド ラインを実行するだけではなく、実際の Web アプリケーションで Node.js モジュールを使用する必要があるため、これだけでは十分ではありません。
2. PHP 拡張機能 phpv8 とノードをインストールする
PHP プログラムで Node.js モジュールを使用するには、phpv8 とノードという 2 つの PHP 拡張機能をインストールする必要があります。 phpv8 拡張機能は V8 エンジンをサポートする PHP 拡張機能を提供し、ノード拡張機能は Node.js モジュールをサポートする PHP 拡張機能を提供します。
まず、phpv8 拡張機能をダウンロードする必要があります。そのソース コードは GitHub: https://github.com/Ponup/php-v8 にあります。
次に、ダウンロードしたソースコードディレクトリに入り、以下のコマンドを実行します。
$ phpize $ ./configure --with-v8js=/path/to/v8 $ make $ make install
このうち、/path/to/v8 は V8 のソースコードディレクトリに設定されます。
最後に、次の設定を php.ini ファイルに追加します。
extension=phpv8.so
次に、ノードをダウンロードする必要があります。拡大。そのソース コードは GitHub: https://github.com/tj/php-node にあります。
ダウンロードしたソース コード ディレクトリに移動し、次のコマンドを実行します:
$ phpize $ ./configure $ make $ make install
最後に、次の設定を php.ini ファイルに追加します:
extension=node.so
3. ノードを使用します。 .js module
phpv8 とノード拡張機能をインストールした後、PHP プログラムで Node.js モジュールを使用できるようになります。以下では、moment.js の使用方法を説明します。
moment.js は、日付と時刻を簡単に操作できる JavaScript 日付処理ライブラリです。このライブラリを PHP で使用するには、Node.js を使用する必要があります。
Node.js をインストールした後、コマンド ラインを開いて次のコマンドを実行します:
$ npm install moment
PHP コードで Node.js モジュールを使用するには、まず V8 エンジン インスタンスを作成し、次にモジュールをロードしてモジュール内のメソッドを実行する必要があります。以下に示すように:
<?php $v8 = new V8Js(); $code = 'var moment = require("moment"); moment().format();'; $result = $v8->executeString($code); echo $result; // output: 2021-05-24T16:33:32+00:00 ?>
上記のコードでは、V8Js クラスを通じて V8 エンジン インスタンスを作成し、$code 変数内の JavaScript コードを実行します。moment.js モジュールは、require 関数を通じてロードされます。コード内で. を呼び出し、moment 関数を呼び出して、現在の時刻の書式設定された文字列を出力します。
4. 概要
この記事では、PHP プログラムで Node.js モジュールをインストールして使用する方法を紹介します。 phpv8 とノード拡張機能を使用すると、PHP プログラムで Node.js モジュールをシームレスに使用し、より複雑なアプリケーション ロジックを実装できます。
以上がPHPにノードモジュールをインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。