PHPinnacle Ensign provides tools that allow your application components to communicate with each other by dispatching signals and listening to them.
Thanks to amphp backend those communication is fully asynchronous.
Via Composer
$ composer require phpinnacle/ensign
<?php
require __DIR__ . '/vendor/autoload.php';
use PHPinnacle\Ensign\DispatcherBuilder;
Amp\Loop::run(function () {
$builder = new DispatcherBuilder;
$builder
->register('upper', function (string $text) {
return \strtoupper($text);
})
->register('lower', function (string $text) {
return \strtolower($text);
})
;
$dispatcher = $builder->build();
$hello = yield $dispatcher->dispatch('upper', 'hello');
$world = yield $dispatcher->dispatch('lower', 'WORLD');
echo sprintf('%s %s!', $hello, $world);
});
More examples can be found in examples
directory.
$ composer test
Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email dev@phpinnacle.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.