setId($props['id']); } if (isset($props['createdAt'])) { if (is_string($props['createdAt'])) { $props['createdAt'] = new DateTimeImmutable($props['createdAt']); } $user->setCreatedAt($props['createdAt']); } if (isset($props['updatedAt'])) { if (is_string($props['updatedAt'])) { $props['updatedAt'] = new DateTime($props['updatedAt']); } $user->setUpdatedAt($props['updatedAt']); } return $user; } public static function toArray(User $user): array { return [ 'name' => $user->getName(), 'email' => $user->getEmail(), 'id' => $user->getId() ?? null, ]; } }