Módulo JavaScript PHP.js
Módulo JavaScript PHP.js
El archivo php.js que genera el
proceso de compilación de PHP WebAssembly
no es un módulo Emscripten convencional. Es un módulo ESM que envuelve la
salida habitual de Emscripten y añade algunas funciones adicionales.
Esta es la API que expone:
// Tamaño de php.wasm en bytes:
export const dependenciesTotalSize = 5644199;
// Nombre de archivo de php.wasm:
export const dependencyFilename = 'php.wasm';
// Ejecutar el módulo generado por Emscripten:
export default function (jsEnv, emscriptenModuleArgs) {}
El módulo JavaScript generado no está pensado para usarse directamente. En su
lugar, se puede utilizar mediante la clase PHP:
// En Node.js:
const php = new PHP(await loadNodeRuntime('8.0'));
// En la web:
const php = new PHP(await loadWebRuntime('8.0'));
Ambos cargadores de plataforma devuelven un identificador de entorno de
ejecución que acepta la clase PHP de @php-wasm/universal, que proporciona la
API compartida entre los distintos entornos. Consulta
Paquetes PHP.wasm para entender
cómo se relacionan la API compartida, los adaptadores de plataforma y los
binarios específicos para cada versión.
Carga del entorno de ejecución PHP
La función loadPHPRuntime() gestiona el proceso de inicialización de PHP. En
concreto:
- Crea una instancia del módulo PHP de Emscripten
- Lo conecta con las dependencias de datos y las carga
- Garantiza que todo ocurra en el orden correcto
- Espera hasta que finalice toda la secuencia de carga