โก Logic Gate
Valuta una o piu condizioni usando la logica AND/OR, poi indirizza l'esecuzione del workflow verso il
ramo true o false in base al risultato.
Categoria: Controllo di Flusso ยท Identificatore tipo: logic
Panoramica
Il Logic Gate e uno dei nodi piu utilizzati in Flusso. Ti permette di prendere decisioni
all'interno di un workflow โ "continua solo se questa condizione e soddisfatta" โ senza scrivere codice. Definisci
una o piu condizioni, scegli se tutte devono essere vere (AND) o
se almeno una deve essere vera (OR), e il nodo invia automaticamente l'esecuzione lungo il
percorso corretto.
Ogni condizione confronta un valore di uno step precedente โ referenziato con la
sintassi {{ variable }} โ con un valore target usando un operatore come
equals, greater than o contains.
In modalita lineare, quando il risultato e false, gli step
rimanenti nel workflow vengono saltati, oppure l'esecuzione avanza fino a un nodo Stop. Quando il risultato
e true, il workflow continua normalmente con lo step immediatamente successivo.
In modalita grafo, il Logic Gate espone due porte di output โ una etichettata
true e una etichettata false. Colleghi ciascuna porta a un nodo o
sotto-grafo diverso, dandoti pieno controllo sulla ramificazione del percorso di esecuzione.
Configurazione
| Campo |
Stato |
Descrizione |
| Operator |
Obbligatorio |
AND โ tutte le condizioni devono essere vere; OR โ almeno una condizione deve essere vera |
| Conditions |
Obbligatorio |
Una o piu condizioni da valutare. Ogni condizione ha un Field (un riferimento a variabile), un Operator e un Value con cui confrontare. |
Operatori di Condizione Disponibili
- equals โ il valore del campo corrisponde esattamente al valore target.
- not equals โ il valore del campo non corrisponde al valore target.
- contains โ la stringa del campo contiene la stringa target come sottostringa.
- does not contain โ la stringa del campo non contiene la stringa target.
- starts with โ la stringa del campo inizia con la stringa target.
- ends with โ la stringa del campo termina con la stringa target.
- greater than โ il numero del campo e strettamente maggiore del numero target.
- less than โ il numero del campo e strettamente minore del numero target.
- greater than or equal โ il numero del campo e maggiore o uguale al numero target.
- less than or equal โ il numero del campo e minore o uguale al numero target.
- is null โ il campo e
null o non presente. Nessun valore richiesto.
- is not null โ il campo esiste e non e
null. Nessun valore richiesto.
- is empty โ il campo e una stringa vuota, un array vuoto o zero. Nessun valore richiesto.
- is not empty โ il campo ha un valore non vuoto e diverso da zero. Nessun valore richiesto.
- matches regex โ la stringa del campo corrisponde al pattern di espressione regolare fornito.
Dati di Output
Il Logic Gate produce le seguenti variabili di output, disponibili negli step successivi come {{ step_key.output.* }}:
| Variabile |
Tipo |
Descrizione |
result |
boolean |
true se la valutazione complessiva e passata, false altrimenti. |
matched_conditions |
array |
Un array delle singole condizioni che sono risultate vere. Utile per logging o decisioni successive. |
Esempio di Utilizzo
Controllare l'accesso a una funzionalita premium
Vuoi permettere a un workflow di procedere solo quando l'account di un utente e attivo e
si trova sul piano premium. Se una delle condizioni fallisce, il workflow si interrompe immediatamente.
-
Aggiungi un nodo HTTP Request per recuperare i dettagli dell'utente. La chiave step e
fetch_user.
-
Aggiungi un nodo Logic Gate dopo di esso. Imposta l'operatore di primo livello su
AND.
-
Aggiungi la prima condizione:
Field: {{ fetch_user.output.status }}
Operator: equals
Value: active
-
Aggiungi la seconda condizione:
Field: {{ fetch_user.output.plan }}
Operator: equals
Value: premium
-
In modalita lineare: gli step dopo il Logic Gate vengono eseguiti solo se entrambe le condizioni
sono vere. Collega un nodo Stop sul percorso false per contrassegnare esplicitamente l'esecuzione come completata
quando l'utente non soddisfa i requisiti.
Suggerimenti e Note
-
AND vs OR. Usa
AND quando ogni condizione deve essere soddisfatta
(piu restrittivo). Usa OR quando una qualsiasi condizione e sufficiente per continuare (piu
permissivo).
-
Logica annidata. Per logiche complesse a piu livelli (ad es. A e (B o C)),
concatena due nodi Logic Gate in sequenza anziche cercare di esprimerlo in un singolo nodo.
-
Sicurezza per null. Se il campo che stai testando potrebbe non esistere, aggiungi prima una
condizione is not null in modo che i confronti successivi non falliscano su un valore
mancante.
-
Ramificazione in modalita grafo. In modalita grafo, collega sempre entrambe le porte
di output true e false. Lasciare una porta non collegata significa che quel ramo del workflow semplicemente
termina silenziosamente.
-
Suggerimenti per le regex. L'operatore matches regex usa la sintassi delle espressioni
regolari compatibili con PHP. Racchiudi il pattern con i delimitatori, ad es.
/^[A-Z]{2}\d{4}$/i.
Nodi Correlati
- Switch โ indirizza verso uno dei diversi rami nominati in base a un valore, anziche una divisione true/false.
- Stop โ termina esplicitamente l'esecuzione del workflow alla fine di un ramo false.
- Set Variable โ memorizza valori intermedi che possono poi essere testati da un Logic Gate.