Evaneos message queue library (with a RabbitMQ Implementation)
composer require evaneos/Burrow dev-master
See examples directory for more details
To test it, you may use a rabbitmq container, this one feets perfectly
docker run -d -p 5672:5672 dockerfile/rabbitmq
$admin = new \Burrow\RabbitMQ\AmqpAdministrator('127.0.0.1', 5672, 'guest', 'guest');
$admin->declareExchange('exchange');
$admin->declareAndBindQueue('exchange', 'my_queue');
$publisher = new \Burrow\RabbitMQ\AmqpAsyncPublisher('127.0.0.1', 5672, 'guest', 'guest', 'exchange');
$publisher->publish('my_event');
$handler = new \Burrow\RabbitMQ\AmqpAsyncHandler('127.0.0.1', 5672, 'guest', 'guest', 'my_queue');
$handler->registerConsumer(new \Burrow\Examples\EchoConsumer());
$worker = new \Burrow\Worker($handler);
$worker->run();
In the command-line, launch both scripts from a different terminal, the message 'my_message', should be displayed in the worker terminal.