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'));
Ambas essas classes estendem a classe BasePHP
exposta pelo pacote @php-wasm/universal
e implementam a interface UniversalPHP
que padroniza a API em todos os ambientes PHP.
Carregando o runtime PHP
O método load() manipula todo o pipeline de inicialização do PHP. Em particular, ele:
- 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