PHP Classes

File: example/Exchange.php

Recommend this page to a friend!
  Classes of MERAJ AHMAD SIDDIQUI   RabbitMQ Manager   example/Exchange.php   Download  
File: example/Exchange.php
Role: Example script
Content type: text/plain
Description: Example script
Class: RabbitMQ Manager
Manage exchanges, queues messages in RabbitMQ
Author: By
Last change:
Date: 7 years ago
Size: 1,663 bytes
 

Contents

Class file image Download
<?php

require dirname(__dir__) . "/vendor/autoload.php";

$configuration_file = dirname(__FILE__)."/config.json";
$configuration = json_decode(file_get_contents($configuration_file), true);

use
RabbitMQManager\Config;
use
RabbitMQManager\Exchange;
/**
 * Set configuration of RabbitMQ connection
 */
Config::init($configuration);

/**
 * This will create an object of exchange to be used for operation on exchange
 */
$exchange = new Exchange();

/**
 * Get List of all exchanges available
 */
$list = $exchange->getExhangeList();
var_dump($list);

/**
 * Create new exchange
 */
$new_exchange_name = "ads";
$new_exchange_args = [
   
"type" => "direct", //Compulsary
   
"auto_delete" => false,
   
"durable" => true,
   
"internal" => false,
   
"arguments" => [
       
"author" => "meraj",
       
"source" => "lib",
    ],
];

$result = $exchange->createExchange($new_exchange_name, $new_exchange_args);
var_dump($result);

/**
 * Publishing Message to an exchange
 */
$publish_exchange_name = "ads";
$publish_data = [
   
"properties" => [

    ],
   
"routing_key" => "ads_test",
   
"payload" => "Thsi is the payload to be published",
   
"payload_encoding" => "string", //string, base64
];

$published = $exchange->publishMessage($publish_exchange_name, $publish_data);
var_dump($published);

/**
 * Deleting any exchange, delete method takes three arguments
 */
//exchange name to delete
$exchange_name = "ads";
//optional ---- default false, If true it will delete it even if its in use
$delete_forcefully = false;
//optional ---- default as provided in configuration
$vhost = "something";

$deleted = $exchange->deleteExchange($exchange_name, $delete_forcefully, $vhost);
var_dump($deleted);