PHP
Descripcion
Sección titulada «Descripcion»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.
Configuracion
Sección titulada «Configuracion»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| script | string | Si | Codigo 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 }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso basico
Sección titulada «Caso basico»{ "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
Nodos Relacionados
Sección titulada «Nodos Relacionados»- pythonRunner (ejecutar codigo Python)
- executescript (ejecutar JavaScript con acceso al contexto del workflow)
- evaluateExpression (evaluar expresiones JavaScript simples)