This library is a pure asynchronous PHP implementation of the AMQP 0-9-1 protocol.
Code is mostly based on bunnyphp, but use amphp for async operations.
Via Composer
$ composer require phpinnacle/ridge
<?php use Amp\Loop; use PHPinnacle\Ridge\Channel; use PHPinnacle\Ridge\Client; use PHPinnacle\Ridge\Message; require __DIR__ . '/vendor/autoload.php'; Loop::run(function () { $client = Client::create('amqp://user:pass@localhost:5672'); yield $client->connect(); /** @var Channel $channel */ $channel = yield $client->channel(); yield $channel->queueDeclare('queue_name'); for ($i = 0; $i < 10; $i++) { yield $channel->publish("test_$i", '', 'queue_name'); } yield $channel->consume(function (Message $message, Channel $channel) { echo $message->content() . \PHP_EOL; yield $channel->ack($message); }, 'queue_name'); });
More examples can be found in examples directory.
$ composer tests
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.