<?php 
 
/* 
 * This file is part of Chevere. 
 * 
 * (c) Rodolfo Berrios <[email protected]> 
 * 
 * For the full copyright and license information, please view the LICENSE 
 * file that was distributed with this source code. 
 */ 
 
declare(strict_types=1); 
 
use function Chevere\Workflow\{response,run,sync,variable,workflow}; 
 
require 'loader.php'; 
 
/* 
 * php demo/chevere.php 
 */ 
 
use Chevere\Action\Action; 
 
class MyAction extends Action 
{ 
    protected function main(string $foo): string 
    { 
        return "Hello, {$foo}"; 
    } 
} 
 
$workflow = workflow( 
    greet: sync( 
        new MyAction(), 
        foo: variable('super'), 
    ), 
    capo: sync( 
        new MyAction(), 
        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 
 
 |