PHP code example of opm87 / mqseries-php

1. Go to this page and download the library: Download opm87/mqseries-php 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/ */

    

opm87 / mqseries-php example snippets


composer 

"		....,
		"bariton3/mqseries-php",
	
	},

'providers' => [
    ...
    MqSeries\ServiceProvider\MqSeriesServiceProvider::class,
]

'aliases' => [
    ...
    'MqSeries' => MqSeries\Facades\MqSeriesFacade::class,
]

    /*
    |----------------------------------
    | Service Keys
    |------------------------------------
    */
    
    'channel' => 'ADD MQ_SERIES_CHANNEL HERE',
    'queue_name' => ' ADD MQ_SERIES_QUEUE_NAME HERE',
    'queue_manager' => 'ADD MQ_SERIES_QUEUE_MANAGER HERE',
    'ip' => ' ADD MQ_SERIES_IP HERE',
    'port' => 'ADD MQ_SERIES_PORT HERE',
    'options' => MQSERIES_MQCNO_STANDARD_BINDING,
	
	//Open Queue:
	$openParams = new MqSeries\Open\Params();
	$openParams->objectDescType = MQSERIES_MQOT_Q;
	$openParams->objectName = config('mqseries.queue_name');
	$openParams->objectQMName  = '';
	$openParams->option = MQSERIES_MQOO_OUTPUT | MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING;
	
	try {
		$queueOpenResult = MqSeries::openQueueOnQM($openParams);
	} catch (MqSeries\QueueManagerConnectionFailedException $ex) {
		die('Exception when opening queue: ' . $ex->getCode() . ' - ' . $ex->getMessage());
	} catch (ExtensionNotLoadedException $ex) {
		die('YOU MUST FIRST ENABLE THE mqseries PHP EXTENSION');
	} catch (NoConnectionParametersException $ex) {
		die('YOU DID NOT PROVIDE CONNECTX PARAMS!');
	}
	
	
	if ($queueOpenResult !== true) {
	die(
	    'SOMETHING WENT WRONG WHEN OPENING THE QUEUE: ' .
	    sprintf(
	        "CompCode:%d Reason:%d Text:%s\n",
	        MqSeries::getLastCompletionCode(),
	        MqSeries::getLastCompletionReasonCode(),
	        MqSeries::getLastCompletionReason()
	    )
	);
	}
	
	// put the message on the queue.
	$mqPutParams = new MqSeries\Put\Params();
	$mqPutParams->gmoOptions = MQSERIES_MQPMO_NEW_MSG_ID;
	
	MqSeries::putMessageToQueue($mqPutParams, 'PING');
	
	if (MqSeries::getLastCompletionCode() !== MQSERIES_MQCC_OK) {
		die(printf("put CompCode:%d Reason:%d Text:%s<br>\n", MqSeries::getLastCompletionCode(), MqSeries::etLastCompletionReasonCode(), MqSeries::getLastCompletionReason()));
	}
	
	
	//Get one message from queue:
        $messageContent = '';
        $mqGetParams = new MqSeries\Get\Params();
        $mqGetParams->gmoOptions = MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT | MQSERIES_MQGMO_CONVERT;
        $mqGetParams->gmoWaitInterval = 5000;

        try {
            $messageContent = MqSeries::getMessageFromQueue($mqGetParams);
            echo $messageContent."\n";
        }
        catch (QueueIsEmptyException $ex) {
            echo "The queue is empty, no big deal.";

            if (is_string($messageContent)) {
                echo 'message retrieved from queue: ' . $messageContent;
            } else {
                die(
                    'SOMETHING WENT WRONG WHEN RETRIEVING A MESSAGE: ' .
                    sprintf(
                        "CompCode:%d Reason:%d Text:%s\n",
                        MqSeries::getLastCompletionCode(),
                        MqSeries::getLastCompletionReasonCode(),
                        MqSeries::getLastCompletionReason()
                    )
                );
            }
        }

        //Close & disconnect:
        MqSeries::close();
        MqSeries::disconnect();