value */ public $custom_questions; /** * @var string */ public $language; /** * MeetingRegistrant constructor. */ public function __construct() { $this->status = 'approved'; $this->custom_questions = []; } public static function fromEmailAndFirstName(string $email, string $firstName, string $lastName = null): RegistrantSchema { $instance = new static(); $instance->first_name = $firstName; $instance->email = $email; if (null !== $lastName) { $instance->last_name = $lastName; } return $instance; } /** * {@inheritdoc} */ public function itemClass($propertyName): string { if ('custom_questions' === $propertyName) { return CustomQuestion::class; } throw new Exception("no such array property $propertyName"); } }