pascaldevink / cloudevents

CloudEvents implementation in PHP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PascalDeVink\CloudEvents

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

PHP Implementation of CloudEvents. Supports version 0.3 of the specification.

Install

Via Composer

$ composer require pascaldevink/cloudevents

Usage

$cloudEvent = new \PascalDeVink\CloudEvents\V03\CloudEvent(
    new EventId('89328232-6202-4758-8050-C9E4690431CA'),
    new Source(Uri::createFromString('github://pull')),
    new EventType('com.github.pull.create'),
    new SchemaUrl(Uri::createFromString('http://github.com/schema/pull')),
    new Subject('1234'),
    new EventTime(new DateTimeImmutable('2018-08-09T21:55:16+00:00')),
    null,
    JsonData::fromArray([])
);

$formatter = new \PascalDeVink\Format\JsonFormatter();
$jsonCloudEvent = $formatter->encode($cloudEvent);

echo $jsonCloudEvent;

$newCloudEvent = $formatter->decode($jsonCloudEvent);

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

CloudEvents implementation in PHP

License:MIT License


Languages

Language:PHP 100.0%