PHP code example of spriebsch / sequora

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

    

spriebsch / sequora example snippets


use spriebsch\sequora\SqliteSequoraSchema;
use spriebsch\sqlite\SqliteConnection;

$connection = SqliteConnection::fromMemory();
SqliteSequoraSchema::from($connection)->init();

use spriebsch\sequora\SequoraWriter;
use spriebsch\sequora\SqliteDatabaseWriter;

$dbWriter = SqliteDatabaseWriter::from($connection);
$writer = SequoraWriter::from($dbWriter);

$writer->store($event1, $event2);

use spriebsch\sequora\SequoraReader;
use spriebsch\sequora\SqliteDatabaseReader;

$topicMap = [
    'vendor.domain.context.event_name' => MyEvent::class,
];

$dbReader = SqliteDatabaseReader::from($connection, $topicMap);
$reader = SequoraReader::from($dbReader);

// Read all events
$events = $reader->all();

foreach ($events as $envelope) {
    $event = $envelope->payload()->asEvent();
    // ...
}

$topicMap =  SqliteDatabaseReader::from($connection, $topicMap);

use spriebsch\sequora\EventQuery;
use spriebsch\DomainEvent\Topic;

$query = EventQuery::from()
    ->withTopics(Topic::fromString('vendor.domain.context.event_name'))
    ->limit(10);

$events = $reader->query($query);