parseField example


        $fieldSet = [];

        if ($label = $element->getAttribute('label')) {
            $fieldSet['label'] = $label;
        }

        $fieldSet['options'] = self::parseCustom($element, 'options');

        if (($fields = $element->getElementsByTagName('field')) !== null) {
            foreach ($fields as $field) {
                $fieldSet['fields'][] = self::parseField($field);
            }
        }

        return $fieldSet;
    }

    private static function parseCustom(DOMElement $element, string $fieldName = 'custom'): array
    {
        $elements = $element->getElementsByTagName($fieldName);
        if (!$elements->length) {
            return [];
        }

    private function getEntitySchema(EntityDefinition $definition): array
    {
        $fields = $definition->getFields();

        $properties = [];
        foreach ($fields as $field) {
            $properties[$field->getPropertyName()] = $this->parseField($definition$field);
        }

        $result = [
            'entity' => $definition->getEntityName(),
            'properties' => $properties,
            'write-protected' => $definition->getProtections()->get(WriteProtection::class) !== null,
            'read-protected' => $definition->getProtections()->get(ReadProtection::class) !== null,
        ];

        if ($definition instanceof DynamicEntityDefinition) {
            $result['flags'] = $definition->getFlags();
        }
Home | Imprint | This part of the site doesn't use cookies.