addType('appid', 'string'); $this->addType('formid', 'string'); $this->addType('scheme', 'json'); if (isset($params['id'])) { $this->setId($params['id']); } if (isset($params['appid'])) { $this->setAppid($params['appid']); } if (isset($params['formid'])) { $this->setFormid($params['formid']); } if (isset($params['scheme'])) { $this->setScheme($params['scheme']); } } public function getSchemaField(string $fieldId): ?array { $scheme = $this->getScheme(); foreach ($scheme['fields'] as $field) { if ($field['id'] === $fieldId) { return $field; } } return null; } public function jsonSerialize(): array { return [ 'id' => $this->getId(), 'appid' => $this->getAppid(), 'formid' => $this->getFormid(), 'scheme' => $this->getScheme(), ]; } }