phelixjuma / guiflow
GUIFlow is a no-code workflow builder
v7.1.34
2025-06-25 05:57 UTC
Requires
- php: >=8.0
- ext-ctype: *
- ext-json: *
- ext-openssl: *
- aws/aws-sdk-php: ^3.336
- doctrine/orm: ^3.3
- erdalceylan/array-join: ^2.1
- graphp/algorithms: ^0.8.2
- graphp/graph: ^0.9.3
- graphp/graphviz: ^0.2.2
- om/from-array: ^1.0
- openswoole/core: 22.1.5
- opis/json-schema: ^2.3
- predis/predis: ^1.1
- ramsey/uuid: ^4.7
- spatie/async: ^1.6
- wyndow/fuzzywuzzy: ^0.6.0
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2026-05-25 07:51:49 UTC
README
GUIFlow is a no-code workflow builder.
Check the documentation for more details
REQUIREMENTS
- PHP >= 8
- justinrainbow/json-schema
- wyndow/fuzzywuzzy
- From v2.*, we have additional requirements:
INSTALLATION
composer require phelixjuma/guiflow
USAGE
$data = [ 'customer_name' => 'Naivas', 'delivery_location' => 'Kilimani', 'items' => [ ['name' => 'Capon Chicken', 'quantity' => 2,'uom' => 'KGS', 'unit_price' => 100] ], "delivery_date" => "2023-09-04" ]; $config = json_decode('[{ "rule": "Split orders for different brands", "skip": "0", "description": "", "stage": "split_orders", "dependencies": [], "condition": { "path": "items.*.matched_value.PrincipalCode", "operator": "exists" }, "actions": [ { "stage": "split_items", "description": "", "dependencies": [], "skip":"0", "action": "function", "path": "", "function": "split", "args": { "split_path": "items", "criteria_path": "items.*.matched_value.PrincipalCode" } } ] }]'); class userDefinedFunctionsClass { // class that defines all user defined functions outside the package ecosystem. } $udfObj = new userDefinedFunctionsClass(); $workflow = new Workflow($config, $udfObj); $workflow->run($data, true); // set second parameter to true for parallel execution print_r($data); // this will show the modified data