PHP Projelerinize dahil ederek kullanabileceğiniz RabbitMQ Entegrasyonu için hazırlanmış basit bir Class'dır.
    
  
- 
Repoyu Klonlayın 
- 
Composer üzerindeki bağımlılıkları kurun. 
composer install- Kullanmaya başlayın.
- 
Sınıfı sayfanıza dahil edin. 
- 
RabbitMQ sunucunuza kurulu ve çalışır halde olduğundan emin olun. 
- 
RabbitMQ üzerine yeni bir mesaj göndermek için aşağıdaki kod bloğunu kullanabilirsiniz. Mesaj gönderimi için gerekli olan queue ve exchange'i classı türetirken parametreler ile oluşturacaktır. 
$rabbitMqConfig = array(
    "queue" => "Normal-Mesajlar",
    "exchange" => "normal",
    "exchangeType" => "direct",
);
$rabbitMq = new rabbitmq(rabbitMqConfig);
$response = $rabbitMq->sendMessage(array(
    'Mesaj' => 'Bu Bir RabbitMQ Mesajıdır.'
));
print_r($response);- RabbitMQ ile istediğiniz bir queue üzerindeki mesajları çekmek için aşağıdaki kod bloğunu kullanabilirsiniz. Ayrıca ackfonksiyonu ile işlem yaptığınız mesajı kuyruktan kaldırabilirsiniz.
$rabbitMqConfig = array(
"queue" => "Normal-Mesajlar",
"exchange" => "normal",
"exchangeType" => "direct"
);
$rabbitMq = new rabbitmq(rabbitMqConfig);
$response = $rabbitMq->getMessages();
foreach ($response as $message) {
    print_r(json_decode($message->body));
    $rabbitMq->ack($message->delivery_info['delivery_tag']);
}RabbitMQ kuyruğa ekleme yaparken işlem yaptığınız an kuyruğa ekleme işlemi yapacaktır. İstediğiniz bir zaman dilimini belirterek kuyruğa ekleme işlemini gecikmeli olarak yaptırabilirsiniz. Öncelikle bu işlemi yapabilmek için “RabbitMQ Delayed Message” eklentisini sunucunuza kurarak RabbitMQ için aktif etmeniz gerekir. http://www.rabbitmq.com/community-plugins.html adresinden eklenti ile ilgili işlemleri yapabilirsiniz.
- Zamanlanmış Mesaj Ekleme için aşağıdaki kod bloğunu kullanabilirsiniz.
$rabbitMqConfig = array(
    "queue" => "queue-name",
    "queueArgs" => array("x-queue-type" => "classic"),
    "exchange" => "queue-exchange",
    "exchangeType" => "x-delayed-message",
    "exchangeArgs" => array("x-delayed-type" => "topic"),
    "routingKey" => "queue-routing-key",
);
$rabbitMq = new rabbitmq(rabbitMqConfig);
$response = $rabbitMq->sendDelayedMessage(array(
    'Mesaj' => 'Bu Bir Beklemeli RabbitMQ Mesajıdır.!'
), 60000); #Milisaniye cinsinden 
print_r($response);- Zamanlanarak gönderilen mesajları okumak için aşağıdaki kod bloğunu kullanabilirsiniz.
$rabbitMqConfig = array(
    "queue" => "queue-name",
    "exchange" => "queue-exchange",
    "exchangeType" => "x-delayed-message",
    "routingKey" => "queue-routing-key",
);
$rabbitMq = new rabbitmq(rabbitMqConfig);
$response = $rabbitMq->getMessages();
foreach ($response as $message) {
    print_r(json_decode($message->body));
    $this->rabbitmq->ack($message->delivery_info['delivery_tag']);
}
