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 dev@phpinnacle.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.