PHP code example of envor / libstream

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

    

envor / libstream example snippets



use Envor\Libstream\Command as LibCommand;
use App\Aggregates\Main;

#[HandledBy(Main::class)]
class Command extends LibCommand
{
    public static function createBusiness(
        string $uuid, 
        array $businessAttributes, 
        array $metaData = []
        ): self
    {
        return new self(new BusinessCreated(
            aggregateUuid: $uuid,
            businessAttributes: $businessAttributes,
            metaData: $metaData
        ));
    }
}



use Envor\Libstream\Dispatcher as LibDispatcher

class Dispatcher extends LibDispatcher
{
    public function createBusiness(
        string $uuid, 
        array $businessAttributes, 
        array $metaData = []
        ): self
    {
        $this->add(new Command(new BusinessCreated(
            aggregateUuid: $uuid,
            businessAttributes: $businessAttributes,
            metaData: $metaData
        )));

        return $this;
    }
}

    $uuid = (string) str()->ulid();
    $dispatcher = Dispatcher::new()->createBusiness(
      uuid: $uuid,
      businessAttributes: $validatedData,
      metaData: [
        'auth' => [
          'email' => Auth::user()->email,
        ],
      ]
    )->dispatch();
bash
php artisan vendor:publish --tag="libstream-migrations"
php artisan migrate