2017 © Pedro Peláez
 

library event-publisher

PHP library to publish events

image

itsoneiota/event-publisher

PHP library to publish events

  • Tuesday, July 10, 2018
  • by rossmcf
  • Repository
  • 2 Watchers
  • 0 Stars
  • 2,664 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 2 Open issues
  • 3 Versions
  • 10 % Grown

The README.md

One iota Event Publisher

Overview

A PHP event publisher which is responsible for publishing user defined events within a multi service environment, (*1)

Installation

composer require itsoneiota/event-publisher

Testing

./vendor/bin/phpunit

Basic Usage

Builder

There is a builder helper class to build your publisher., (*2)

Build Kinesis Publisher

A publisher with an AWS Kinesis transporter requires a Kinesis Client from the AWS SDK to build., (*3)

e.g., (*4)

Example usage - Event publishing with a Kinesis Client

Create Kinesis Client

$kinesis = new Aws\Kinesis\KinesisClient::factory(array('key'=>'KeY','secret'=>'seCrEt','region'=>'eu-west-1');

Create Publisher using builder

$serviceConfig = new \stdClass();
$serviceConfig->EventsPublisher = new \stdClass();
$serviceConfig->EventsPublisher->transport = new \stdClass();

$serviceConfig->EventsPublisher->enabled = true;
$serviceConfig->EventsPublisher->transport->type = 'Kinesis';
$serviceConfig->EventsPublisher->transport->stream = 'events-stream';

$publisherConfig = $publisherConfig->EventsPublisher;

$eventPublisherBuilder = EventPublisherBuilder::create()->withConfig($publisherConfig);

if($publisherConfig->transport->type == "Kinesis") {
    $eventPublisherBuilder->withKinesisTransporter($this->createKinesisClient(), $publisherConfig->transport);
}

$eventPublisher = $eventPublisherBuilder->build();

Create Event Object

// Constructor1 is the event origin.
// Constructor2 is the message type, this should be a constant event type within the service.
// Constructor3 is an array of fields which can be defined in any way. consider which properties is relevant to the event.

const SERVICE_NAME = "WebFrontEnd";
const EVENT_USER_LOGGED_IN = "UserLoggedIn";

$event = new \itsoneiota\eventpublisher\Event(self::SERVICE_NAME,
                                                self::EVENT_USER_LOGGED_IN,
                                                array("some message"=>"user logged in after 3 attempts","attempts remaining"=>3)
                                              );

Publish the Event

$eventPublisher->publish($event);

The Versions

10/07 2018

dev-master

9999999-dev

PHP library to publish events

  Sources   Download

proprietary

The Requires

 

The Development Requires

by Owen Morgan

10/07 2018

2.0.0

2.0.0.0

PHP library to publish events

  Sources   Download

proprietary

The Requires

 

The Development Requires

by Owen Morgan

03/10 2017

1.0.0

1.0.0.0

PHP library to publish events

  Sources   Download

proprietary

The Requires

 

The Development Requires

by Owen Morgan