PHP code example of remessage / client

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

    

remessage / client example snippets


use RM\Component\Client\ClientFactory;
use RM\Component\Client\Transport\HttpTransport;
use RM\Standard\Message\Serializer\ActionSerializer;
use RM\Standard\Message\Serializer\ChainMessageSerializer;
use RM\Standard\Message\Serializer\ErrorSerializer;
use RM\Standard\Message\Serializer\ResponseSerializer;
use Symfony\Component\HttpClient\Psr18Client;

$http = new Psr18Client();

$serializer = new ChainMessageSerializer();
$serializer->pushSerializer(new ActionSerializer());
$serializer->pushSerializer(new ErrorSerializer());
$serializer->pushSerializer(new ResponseSerializer());

$transport = new HttpTransport($http, $http, $http, $serializer);
$client = ClientFactory::create($transport)->build();

use RM\Component\Client\ClientFactory;
use RM\Component\Client\Event\SentEvent;
use RM\Component\Client\EventListener\ThrowableSendListener;
use RM\Component\Client\Transport\TransportInterface;
use Symfony\Component\EventDispatcher\EventDispatcher;

// transport initialization

/** @var TransportInterface $transport **/
$factory = ClientFactory::create($transport);
$client = $factory->build();

/** @var EventDispatcher $eventDispatcher */
$eventDispatcher = $factory->getEventDispatcher();
$eventDispatcher->addListener(SentEvent::class, new ThrowableSendListener($eventDispatcher));

use RM\Component\Client\ClientFactory;
use RM\Component\Client\Event\SentEvent;
use RM\Component\Client\EventListener\ThrowableSendListener;
use RM\Component\Client\Transport\TransportInterface;
use Symfony\Component\EventDispatcher\EventDispatcher;

// transport initialization

$eventDispatcher = new EventDispatcher();

/** @var TransportInterface $transport **/
$client = ClientFactory::create($transport)
    ->setEventDispatcher($eventDispatcher)
    ->build()
;

$eventDispatcher->addListener(SentEvent::class, new ThrowableSendListener($eventDispatcher));