Ir al contenido

PHP

Este modulo permite ejecutar código PHP personalizado dentro de un workflow. El código del usuario se envuelve automáticamente en una función 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 lógica de negocio escrita en PHP.

ParámetroTipoRequeridoDescripción
scriptstringSiCódigo PHP a ejecutar dentro de la función run($data). No incluir la declaración de función ni tags PHP. El código 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 automáticamente después de la ejecución
  • 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 código Python)
  • executescript (ejecutar JavaScript con acceso al contexto del workflow)
  • evaluateExpression (evaluar expresiones JavaScript simples)