Código PHP

Quase tudo o que um fluxo precisa fazer com os dados já tem nó pronto: o Editar campos (Set) monta valores, o IF decide caminho, o Merge (juntar) junta listas. O Código PHP é a saída para o resto — aquela transformação específica da sua operação que não cabe em nenhum deles.

Exemplos típicos: recalcular um valor com uma regra de negócio própria, reorganizar uma resposta de formato incomum, agrupar itens por um critério que só existe aí.

O nó aparece na paleta do editor em Núcleo → Dados, para quem tem o perfil LBHM — o mesmo do nó próprio, porque o código roda com o mesmo alcance dos demais nós, credenciais incluídas. Fale com a LBHM para incluir um nó de código no seu fluxo. Um fluxo que já usa o nó continua abrindo, executando e sendo editado no restante normalmente.

Como escrever

O nó tem três campos:

Campo O que faz
Executar Uma vez com todos os itens (o padrão) ou Uma vez para cada item
Código O trecho a executar
Timeout (segundos) Na aba Config. Padrão 30

Em Uma vez com todos os itens, o código recebe a lista inteira de uma vez — é o modo certo para somar, agrupar ou reordenar. Em Uma vez para cada item, o código roda item a item, o que costuma deixar a lógica mais simples quando cada linha é independente.

O código recebe os itens e devolve os itens transformados. Este exemplo, no modo todos, acrescenta um total a cada linha:

return $this->mapear($items, function (array $item) {
    $item['total'] = (float) $item['qtd'] * (float) $item['preco'];
    return $item;
});

O nó tem uma saída (main), como os demais.

✨ Assistente de código

No campo Código, o botão ✨ Assistente de código escreve o trecho para você: descreva em português o que o código deve fazer — "somar o valor por RA e devolver um item por aluno" — e ele monta o corpo do nó. Se já houver código no campo, ele ajusta o que está lá em vez de começar do zero.

Ele parte dos campos que chegaram na última execução do nó, então rode o fluxo uma vez antes: com os dados reais à vista, ele acerta os nomes dos campos. Revise o que ele propõe antes de salvar.

O tempo máximo

Todo nó de código tem um tempo máximo de execução (30 segundos por padrão, na aba Config). Passou disso, o nó falha e a execução segue o Em caso de erro que você configurou ali.

O padrão atende bem uma transformação. Se o seu código precisa de bem mais que isso, provavelmente ele está fazendo trabalho que caberia melhor em outros nós — uma consulta que traz demais, por exemplo, ou uma chamada externa que tem nó próprio.

Antes de escrever código, olhe se já existe nó

O código é a opção mais poderosa e também a mais cara de manter: ele não aparece na tela como um passo legível, não tem os ajustes dos demais nós e é revisado por menos gente. Vale conferir antes:

Se depois disso o código continuar sendo a resposta certa, ele está aqui.

Se algo der errado

Erro de escrita no código é apontado antes de a execução começar, com a mensagem correspondente — o fluxo não quebra no meio por causa disso. Erros que só aparecem rodando (um campo que não veio, uma divisão por zero) chegam como falha do nó, com a causa, na tela de Execuções.


Veja também: Nós, Dados e lógica, Perfis e acessos e Ajustes do nó.