PHP est actuellement l'un des langages de développement web back-end les plus populaires Avec le développement de Node.js, de plus en plus de personnes commencent à utiliser Node.js pour écrire des applications Web. Dans ce cas, comment utiliser les modules Node.js dans les programmes PHP est devenu un sujet qui mérite d'être discuté. Cet article explique comment installer et utiliser les modules Node.js dans les programmes PHP.
1. La relation entre le module Node.js et le programme PHP
Node.js et PHP sont deux langages de développement et environnements d'exploitation complètement différents, et leurs scénarios d'application sont également différents. Node.js convient aux applications Web interactives en temps réel hautes performances, tandis que PHP convient à la création rapide d'applications Web et au traitement d'une logique métier complexe. Bien que les scénarios d'application des deux soient différents, ils fonctionnent souvent ensemble et coopèrent dans des applications Web réelles.
En PHP, nous pouvons utiliser la fonction exec ou system pour exécuter la ligne de commande, comme indiqué ci-dessous :
<?php $result = exec('node -e "console.log(\'Hello World\')"'); echo $result; // output: Hello World ?>
Le code ci-dessus exécutera une ligne de commande, imprimera Hello World en exécutant la commande node, puis utilisera sa sortie comme la fonction exec La valeur de retour est finalement sortie.
Dans ce cas, nous pouvons utiliser la fonction exec pour exécuter le programme Node.js et obtenir le résultat via PHP. Cependant, cela ne suffit pas, car nous devons utiliser les modules Node.js dans de véritables applications Web, et pas seulement exécuter de simples lignes de commande.
2. Installer les extensions PHP phpv8 et node
L'utilisation du module Node.js dans un programme PHP nécessite l'installation de deux extensions PHP : phpv8 et node. L'extension phpv8 fournit des extensions PHP prenant en charge le moteur V8, et l'extension de nœud fournit des extensions PHP prenant en charge les modules Node.js.
Tout d'abord, nous devons télécharger l'extension phpv8. Son code source est disponible sur GitHub : https://github.com/Ponup/php-v8.
Ensuite, entrez dans le répertoire du code source téléchargé et exécutez la commande suivante :
$ phpize $ ./configure --with-v8js=/path/to/v8 $ make $ make install
Parmi eux, /path/to/v8 est défini sur le répertoire du code source de la V8.
Enfin, ajoutez la configuration suivante dans le fichier php.ini :
extension=phpv8.so
Ensuite, nous devons télécharger l'extension de nœud. Son code source est disponible sur GitHub : https://github.com/tj/php-node.
Entrez le répertoire du code source téléchargé et exécutez la commande suivante :
$ phpize $ ./configure $ make $ make install
Enfin, ajoutez la configuration suivante dans le fichier php.ini :
extension=node.so
3 Utilisez le module Node.js
Après avoir installé phpv8 et les extensions de nœud, nous pouvons utiliser les modules Node.js dans les programmes PHP. Ci-dessous, nous montrerons comment utiliser moment.js.
moment.js est une bibliothèque de traitement de dates JavaScript qui peut facilement manipuler les dates et les heures. Nous devons utiliser Node.js pour utiliser cette bibliothèque en PHP.
Après avoir installé Node.js, ouvrez la ligne de commande et exécutez la commande suivante :
$ npm install moment
Dans le code PHP, l'utilisation du module Node.js nécessite au préalable de créer a V8 L'instance du moteur charge ensuite le module et exécute les méthodes du module. Comme indiqué ci-dessous :
<?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 ?>
Dans le code ci-dessus, nous avons créé une instance de moteur V8 via la classe V8Js, puis exécuté le code JavaScript dans la variable $code. Dans le code, le module moment.js a été chargé via la fonction require. et appelée La fonction moment génère une chaîne formatée de l'heure actuelle.
4. Résumé
Cet article explique comment installer et utiliser les modules Node.js dans les programmes PHP. En utilisant phpv8 et les extensions de nœuds, nous pouvons utiliser de manière transparente les modules Node.js dans les programmes PHP et implémenter une logique d'application plus complexe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!