PHP code example of anik / laravel-amqp
1. Go to this page and download the library: Download anik/laravel-amqp library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
anik / laravel-amqp example snippets
'providers' => [
// ...
Anik\Laravel\Amqp\Providers\AmqpServiceProvider::class,
]
$app->register(Anik\Laravel\Amqp\Providers\AmqpServiceProvider::class);
'providers' => [
/// ...
Anik\Laravel\Amqp\Providers\AmqpServiceProvider::class,
]
// config/octane.php
// ...
'warm' => [
// ...
'amqp', // <-- this line
],
use Anik\Amqp\ConsumableMessage;
use Anik\Laravel\Amqp\Facades\Amqp;
$messages = 'my message';
// $messages = ['my first message', 'my second message'];
// $messages = new Anik\Amqp\ProducibleMessage('my message');
// $messages = ['another message', new Anik\Amqp\ProducibleMessage('also another message')];
Amqp::publish($messages); // publishes to default connection
Amqp::connection('rabbitmq')->publish($messages); // publishes to rabbitmq connection
app('amqp')->publish($messages); // publishes to default connection
app('amqp')->connection('rabbitmq')->publish($messages); // publishes to rabbitmq connection
app()->make('amqp')->publish($messages); // publishes to default connection
app()->make('amqp')->connection('rabbitmq')->publish($messages); // publishes to rabbitmq connection
/** @var \Anik\Laravel\Amqp\AmqpManager $amqpManager */
$amqpManager->publish($messages); // publishes to default connection
$amqpManager->connection('rabbitmq')->publish($messages); // publishes to rabbitmq connection
Amqp::consume(function(ConsumableMessage $message) {
var_dump($message->getMessageBody());
$message->ack();
}); // consumes from default connection
Amqp::connection('rabbitmq')->consume(function(ConsumableMessage $message) {
var_dump($message->getMessageBody());
$message->ack();
}); // consumes from rabbitmq connection
app('amqp')->consume(function(ConsumableMessage $message) {
var_dump($message->getMessageBody());
$message->ack();
}); // consumes from default connection
app('amqp')->connection('rabbitmq')->consume(function(ConsumableMessage $message) {
var_dump($message->getMessageBody());
$message->ack();
}); // consumes from rabbitmq connection
app()->make('amqp')->consume(function(ConsumableMessage $message) {
var_dump($message->getMessageBody());
$message->ack();
}); // consumes from default connection
app()->make('amqp')->connection('rabbitmq')->consume(function(ConsumableMessage $message) {
var_dump($message->getMessageBody());
$message->ack();
}); // consumes from rabbitmq connection
/** @var \Anik\Laravel\Amqp\AmqpManager $amqpManager */
$amqpManager->consume(function(ConsumableMessage $message) {
var_dump($message->getMessageBody());
$message->ack();
}); // consumes from default connection
$amqpManager->connection('rabbitmq')->consume(function(ConsumableMessage $message) {
var_dump($message->getMessageBody());
$message->ack();
}); // consumes from rabbitmq connection
use Anik\Laravel\Amqp\Facades\Amqp;
Amqp::publish($messages, $routingKey, $exchange, $options);
Amqp::connection('rabbitmq')->publish($messages, $routingKey, $exchange, $options);
use Anik\Laravel\Amqp\Facades\Amqp;
Amqp::consume($handler, $bindingKey, $exchange, $queue, $qos , $options);
Amqp::connection('rabbitmq')->consume($handler, $bindingKey, $exchange, $queue, $qos , $options);
use Anik\Laravel\Amqp\Facades\Amqp;
use PHPUnit\Framework\TestCase;
class MyTest extends TestCase
{
public function testIfMessageWasProduced () {
Amqp::fake();
// ... Your code
Amqp::assertPublished();
// Amqp::assertPublished("my-message");
// Amqp::assertPublishedCount(5, "my-message");
// Amqp::assertPublished(Anik\Amqp\ProducibleMessage::class);
// Amqp::assertPublished(Anik\Amqp\Producible::class);
Amqp::assertPublishedOnConnection('rabbitmq');
}
}