Skip to content

Commit 77fdb69

Browse files
authored
Merge pull request #767 from patchlevel/update-getting-started
do not use deprecated features in getting started
2 parents d299508 + 2a22542 commit 77fdb69

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

docs/pages/getting_started.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@ final class HotelCreated
2626
A guest can check in by `name`:
2727

2828
```php
29+
use Patchlevel\EventSourcing\Aggregate\Uuid;
2930
use Patchlevel\EventSourcing\Attribute\Event;
3031

3132
#[Event('hotel.guest_checked_in')]
3233
final class GuestIsCheckedIn
3334
{
3435
public function __construct(
36+
public readonly Uuid $hotelId,
3537
public readonly string $guestName,
3638
) {
3739
}
@@ -40,12 +42,14 @@ final class GuestIsCheckedIn
4042
And also check out again:
4143

4244
```php
45+
use Patchlevel\EventSourcing\Aggregate\Uuid;
4346
use Patchlevel\EventSourcing\Attribute\Event;
4447

4548
#[Event('hotel.guest_checked_out')]
4649
final class GuestIsCheckedOut
4750
{
4851
public function __construct(
52+
public readonly Uuid $hotelId,
4953
public readonly string $guestName,
5054
) {
5155
}
@@ -105,7 +109,7 @@ final class Hotel extends BasicAggregateRoot
105109
throw new GuestHasAlreadyCheckedIn($guestName);
106110
}
107111

108-
$this->recordThat(new GuestIsCheckedIn($guestName));
112+
$this->recordThat(new GuestIsCheckedIn($this->id, $guestName));
109113
}
110114

111115
public function checkOut(string $guestName): void
@@ -114,7 +118,7 @@ final class Hotel extends BasicAggregateRoot
114118
throw new IsNotAGuest($guestName);
115119
}
116120

117-
$this->recordThat(new GuestIsCheckedOut($guestName));
121+
$this->recordThat(new GuestIsCheckedOut($this->id, $guestName));
118122
}
119123

120124
#[Apply]
@@ -179,33 +183,33 @@ final class HotelProjector
179183
}
180184

181185
#[Subscribe(HotelCreated::class)]
182-
public function handleHotelCreated(HotelCreated $event, Uuid $aggregateId): void
186+
public function handleHotelCreated(HotelCreated $event): void
183187
{
184188
$this->db->insert(
185189
$this->table(),
186190
[
187-
'id' => $aggregateId->toString(),
191+
'id' => $event->hotelId->toString(),
188192
'name' => $event->hotelName,
189193
'guests' => 0,
190194
],
191195
);
192196
}
193197

194198
#[Subscribe(GuestIsCheckedIn::class)]
195-
public function handleGuestIsCheckedIn(Uuid $aggregateId): void
199+
public function handleGuestIsCheckedIn(GuestIsCheckedIn $event): void
196200
{
197201
$this->db->executeStatement(
198202
"UPDATE {$this->table()} SET guests = guests + 1 WHERE id = ?;",
199-
[$aggregateId->toString()],
203+
[$event->hotelId->toString()],
200204
);
201205
}
202206

203207
#[Subscribe(GuestIsCheckedOut::class)]
204-
public function handleGuestIsCheckedOut(Uuid $aggregateId): void
208+
public function handleGuestIsCheckedOut(GuestIsCheckedOut $event): void
205209
{
206210
$this->db->executeStatement(
207211
"UPDATE {$this->table()} SET guests = guests - 1 WHERE id = ?;",
208-
[$aggregateId->toString()],
212+
[$event->hotelId->toString()],
209213
);
210214
}
211215

0 commit comments

Comments
 (0)