phpinnacle / ensign
PHPinnacle Signal Dispatcher
1.1
2018-12-27 07:17 UTC
Requires
- php: ^7.1
- amphp/amp: ^2.0
- psr/container: ^1.0
Requires (Dev)
- amphp/parallel-functions: ^0.1.3
- phpunit/phpunit: ^6.0
Suggests
- amphp/parallel-functions: For using ParallelProcessor.
This package is auto-updated.
Last update: 2024-11-04 21:41:04 UTC
README
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.
Install
Via Composer
$ composer require phpinnacle/ensign
Basic Usage
<?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.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email dev@phpinnacle.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.