Aller au contenu principal

Module JavaScript PHP.js

Module JavaScript PHP.js

Le fichier php.js généré par le pipeline de compilation de PHP WebAssembly n'est pas un module Emscripten classique. C'est un module ESM qui enveloppe la sortie habituelle d'Emscripten et ajoute quelques fonctionnalités supplémentaires.

Voici l'API qu'il expose :

// Taille de php.wasm en octets :
export const dependenciesTotalSize = 5644199;

// Nom de fichier de php.wasm :
export const dependencyFilename = 'php.wasm';

// Exécuter le module généré par Emscripten :
export default function (jsEnv, emscriptenModuleArgs) {}

Le module JavaScript généré n'est pas destiné à un usage direct. Il peut en revanche être consommé via la classe PHP :

// Dans Node.js :
const php = new PHP(await loadNodeRuntime('8.0'));

// Sur le web :
const php = new PHP(await loadWebRuntime('8.0'));

Les deux chargeurs de plateforme renvoient un identifiant d'environnement d'exécution accepté par la classe PHP de @php-wasm/universal, qui fournit l'API partagée entre les environnements. Consultez Paquets PHP.wasm pour comprendre comment s'articulent l'API partagée, les adaptateurs de plateforme et les binaires spécifiques à chaque version.

Chargement de l'environnement d'exécution PHP

La fonction loadPHPRuntime() gère le processus d'initialisation de PHP. En particulier, elle :

  • Instancie le module PHP d'Emscripten
  • Le relie aux dépendances de données et les charge
  • Garantit que tout se déroule dans le bon ordre
  • Attend la fin de toute la séquence de chargement