controller()->getRequest(); $params = $request->AllParams(); $schema = [ 'name' => $form->getName(), 'id' => isset($params['ID']) ? $params['ID'] : null, 'action' => isset($params['Action']) ? $params['Action'] : null, 'method' => $form->controller()->getRequest()->HttpMethod(), 'schema_url' => $request->getUrl(), 'attributes' => $form->getAttributes(), 'data' => [], 'fields' => [], 'actions' => [] ]; foreach ($form->Actions() as $action) { $schema['actions'][] = $action->getSchemaData(); } foreach ($form->Fields() as $fieldList) { foreach ($fieldList->getForm()->fields()->dataFields() as $field) { $schema['fields'][] = $field->getSchemaData(); } } return $schema; } /** * Gets the current state of this form as a nested array. * * @param From $form * @return array */ public function getState(Form $form) { $state = [ 'id' => $form->getName(), 'fields' => [], 'messages' => [] ]; return $state; } }