1. Go to this page and download the library: Download magetips/windowsazure 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/ */
use MageTips\WindowsAzure\ServiceBus\Models\TopicInfo;
use MageTips\WindowsAzure\ServiceBus\Models\SubscriptionInfo;
use MageTips\WindowsAzure\ServiceBus\Models\RuleInfo;
$serviceBus->createTopic(new TopicInfo('orders-export'));
$serviceBus->createSubscription('orders-export', new SubscriptionInfo('defaultsub'));
$serviceBus->createRule('orders-export', 'defaultsub', new RuleInfo('$Default'));
use MageTips\WindowsAzure\ServiceBus\Models\BrokeredMessage;
$message = new BrokeredMessage(json_encode(['orderId' => 1001]));
$message->setContentType('application/json');
$message->setProperty('EventType', 'order.exported'); // custom property, arbitrary key/value
$serviceBus->sendTopicMessage('orders-export', $message);
use MageTips\WindowsAzure\ServiceBus\Models\ReceiveMessageOptions;
use MageTips\WindowsAzure\ServiceBus\Models\ReceiveMode;
$options = new ReceiveMessageOptions();
$options->setReceiveMode(ReceiveMode::PEEK_LOCK);
$message = $serviceBus->receiveSubscriptionMessage('orders-export', 'defaultsub', $options);
if ($message === null) {
// The subscription had no messages available.
}
$body = (string) $message->getBody();
$deliveryCount = $message->getDeliveryCount(); // number of times Azure has (re)delivered this message
// Success: remove the message from the subscription for good.
$serviceBus->deleteMessage($message);
// Transient failure: release the lock immediately so the message is redeliverable.
// Azure automatically dead-letters it once the subscription's MaxDeliveryCount is exceeded.
$serviceBus->unlockMessage($message);
$serviceBus->renewLock($message); // call again before $message->getLockedUntilUtc() is reached