public static function register(string $email, string $firstName, string $lastName, string $middleName = null, string $prefix = null, string $suffix = null) : User { $user = new static($email, $firstName, $lastName, $middleName, $prefix, $suffix); $userRegisteredEvent = new UserRegisteredEvent($email, $firstName, $lastName, $middleName, $prefix, $suffix); $user->recordEvent($userRegisteredEvent); return $user; }
public static function open($eventId, $accountId, $startingBalance = 0) { $account = new static(); $account->recordEvent($eventId, new AccountWasOpened($accountId, $startingBalance)); return $account; }