PHP
Descripción
Sección titulada «Descripción»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.
Configuración
Sección titulada «Configuración»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| script | string | Si | Có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 }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso básico
Sección titulada «Caso básico»{ "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
Nodos Relacionados
Sección titulada «Nodos Relacionados»- pythonRunner (ejecutar código Python)
- executescript (ejecutar JavaScript con acceso al contexto del workflow)
- evaluateExpression (evaluar expresiones JavaScript simples)