PHP code example of neos / eventstore
1. Go to this page and download the library: Download neos/eventstore 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/ */
neos / eventstore example snippets
$eventStore->commit(
streamName: StreamName::fromString('some-stream'),
events: new Event(EventId::create(), EventType::fromString('SomeEventType'), EventData::fromString('{"foo": "bar"}')),
expectedVersion: ExpectedVersion::ANY(),
);
$correlationId = Uuid::uuid4()->toString();
$eventStore->commit(
streamName: StreamName::fromString('some-stream'),
events: Events::fromArray([
new Event(EventId::create(), EventType::fromString('SomeEventType'), EventData::fromString('foo'), correlationId: $correlationId),
new Event(EventId::create(), EventType::fromString('SomeOtherType'), EventData::fromString('bar'), correlationId: $correlationId])),
]),
expectedVersion: ExpectedVersion::ANY(),
);
$eventStore->commit(
streamName: StreamName::fromString('customer-' . $customerId->value),
events: new Event(EventId::create(), EventType::fromString('CustomerHasSignedUp'), EventData::fromString($customerData->toJson())),
expectedVersion: ExpectedVersion::NO_STREAM(),
);
foreach ($eventStore->load(StreamName::fromString('some-stream')) as $eventEnvelope) {
echo $eventEnvelope->sequenceNumber->value . ': ' . $eventEnvelope->event->type->value . PHP_EOL;
}
$stream = $eventStore->load(
streamName: StreamName::fromString('some-stream'),
filter: EventStreamFilter::create(eventTypes: EventTypes::create(EventType::fromString('SomeEventType')))
);
$stream = $eventStore->load(StreamName::fromString('some-stream'))
->withMinimumSequenceNumber(SequenceNumber::fromInteger(500))
->withMaximumSequenceNumber(SequenceNumber::fromInteger(1000))
->limit(10)
->backwards();
$eventStore->deleteStream(StreamName::fromString('some-stream'));