Pular para o conteúdo principal

Módulo JavaScript PHP.js

Módulo JavaScript PHP.js

O arquivo php.js gerado pelo pipeline de build WebAssembly PHP não é um módulo Emscripten vanilla. Em vez disso, é um módulo ESM que envolve a saída regular do Emscripten e adiciona algumas funcionalidades extras.

Aqui está a API que ele expõe:

// php.wasm size in bytes:
export const dependenciesTotalSize = 5644199;

// php.wasm filename:
export const dependencyFilename = 'php.wasm';

// Run Emscripten's generated module:
export default function (jsEnv, emscriptenModuleArgs) {}

O módulo JavaScript gerado não é destinado ao uso direto. Em vez disso, pode ser consumido através da classe PHP:

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

// On the web:
const php = new PHP(await loadWebRuntime('8.0'));

Ambos os carregadores de plataforma retornam um ID de runtime aceito pela classe PHP de @php-wasm/universal, que fornece a API compartilhada entre os ambientes. Consulte Pacotes PHP.wasm para entender como a API compartilhada, os adaptadores de plataforma e os binários específicos por versão se relacionam.

Carregando o runtime PHP

A função loadPHPRuntime() gerencia o pipeline de inicialização do PHP. Em particular, ela:

  • Instancia o módulo PHP Emscripten
  • Conecta-o junto com as dependências de dados e as carrega
  • Garante que tudo aconteça na ordem correta
  • Espera até que toda a sequência de carregamento seja finalizada