generated from chevere/package-template
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathchevere.php
More file actions
48 lines (42 loc) · 1003 Bytes
/
chevere.php
File metadata and controls
48 lines (42 loc) · 1003 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
/*
* This file is part of Chevere.
*
* (c) Rodolfo Berrios <rodolfo@chevere.org>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
use Chevere\Demo\Actions\MyAction;
use function Chevere\Workflow\{response,run,sync,variable,workflow};
require 'loader.php';
/*
* php demo/chevere.php
*/
$workflow = workflow(
greet: sync(
MyAction::class,
foo: variable('super'),
),
capo: sync(
MyAction::class,
foo: response('greet'),
),
wea: sync(
function (string $foo) {
return "Wea, {$foo}";
},
foo: response('greet'),
),
);
$hello = run(
$workflow,
super: 'Chevere',
);
echo $hello->response('greet')->string() . PHP_EOL;
// Hello, Chevere
echo $hello->response('capo')->string() . PHP_EOL;
// Hello, Hello, Chevere
echo $hello->response('wea')->string() . PHP_EOL;
// Wea, Hello, Chevere