Saltearse al contenido

PHP

Este modulo permite ejecutar codigo PHP personalizado dentro de un workflow. El codigo del usuario se envuelve automaticamente en una funcion run($data) que recibe los datos del flujo como array asociativo via stdin en formato JSON. El script se ejecuta como un proceso hijo PHP independiente usando un archivo temporal, lo que proporciona aislamiento del proceso principal de Node.js. El resultado debe ser un array asociativo PHP que se serializa como JSON. Es ideal para aprovechar librerias PHP existentes, realizar calculos que resultan mas naturales en PHP, o integrar logica de negocio escrita en PHP.

ParametroTipoRequeridoDescripcion
scriptstringSiCodigo PHP a ejecutar dentro de la funcion run($data). No incluir la declaracion de funcion ni tags PHP. El codigo debe retornar un array asociativo.
{
"nextModule": "siguiente_modulo",
"data": {
"suma": 150,
"cantidad": 5
}
}
{
"script": "return [\n \"suma\" => array_sum($data[\"valores\"] ?? []),\n \"cantidad\" => count($data[\"valores\"] ?? [])\n];"
}
  • Requiere que PHP este instalado y disponible en el PATH del sistema
  • El script se ejecuta como un proceso hijo independiente (child_process.spawn)
  • Los datos de entrada se pasan via stdin como JSON
  • El resultado debe ser un array asociativo PHP (se convierte a JSON con json_encode)
  • El archivo temporal se elimina automaticamente despues de la ejecucion
  • Si el script PHP retorna un error o un exit code distinto de 0, se rechaza la promesa
  • No tiene acceso directo a la base de datos ni a la memoria del workflow desde PHP
  • El nombre del archivo temporal incluye un UUID para evitar colisiones
  • pythonRunner (ejecutar codigo Python)
  • executescript (ejecutar JavaScript con acceso al contexto del workflow)
  • evaluateExpression (evaluar expresiones JavaScript simples)