PHP code example of jozi / laravel-rabbitevents-sourcing
1. Go to this page and download the library: Download jozi/laravel-rabbitevents-sourcing 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/ */
jozi / laravel-rabbitevents-sourcing example snippets
use Jozi\Events\StoredRabbitEvent;
class AccountCreated extends StoredRabbitEvent
{
public $eventKey = 'account.created';
/** @var array */
public $accountAttributes;
public function __construct(array $accountAttributes)
{
$this->accountAttributes = $accountAttributes;
}
public function toPublish(): array
{
return $this->accountAttributes;
}
}
class Account extends Model
{
protected $guarded = [];
public static function createWithAttributes(array $attributes): Account
{
/*
* Let's generate a uuid.
*/
$attributes['uuid'] = (string) Uuid::uuid4();
/*
* The account will be created inside this event using the generated uuid.
*/
publish_event(new AccountCreated($attributes));
/*
* The uuid will be used the retrieve the created account.
*/
return static::getByUuid($attributes['uuid']);
}
}