# user-access-manager/2.3.18/src/Form/FormFactory.php

User Access Manager, version 2.3.18. 73 lines.

- Page: https://pluginprobe.com/plugins/user-access-manager/2.3.18/code/src/Form/FormFactory.php
- Raw: https://pluginprobe.com/plugins/user-access-manager/2.3.18/raw/src/Form/FormFactory.php
- Modified: 2026-08-06T11:11:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/user-access-manager/2.3.18/code/src/Form/FormFactory.php#L10-L20`.

```php
<?php

declare(strict_types=1);

namespace UserAccessManager\Form;

use Exception;
use UserAccessManager\Form\Element\Input;
use UserAccessManager\Form\Element\MultipleFormElementValue;
use UserAccessManager\Form\Element\Radio;
use UserAccessManager\Form\Element\Select;
use UserAccessManager\Form\Element\Textarea;
use UserAccessManager\Form\Element\ValueSetFormElementValue;

class FormFactory
{
    public function createForm(): Form
    {
        return new Form();
    }

    public function createValueSetFormElementValue(mixed $value, string $label): ValueSetFormElementValue
    {
        return new ValueSetFormElementValue($value, $label);
    }

    public function createMultipleFormElementValue(mixed $value, string $label): MultipleFormElementValue
    {
        return new MultipleFormElementValue($value, $label);
    }

    public function createInput(
        string $id,
        mixed $value = null,
        ?string $label = null,
        ?string $description = null
    ): Input {
        return new Input($id, $value, $label, $description);
    }

    public function createTextarea(
        string $id,
        mixed $value = null,
        ?string $label = null,
        ?string $description = null
    ): Textarea {
        return new Textarea($id, $value, $label, $description);
    }

    public function createSelect(
        string $id,
        array $possibleValues,
        mixed $value = null,
        ?string $label = null,
        ?string $description = null
    ): Select {
        return new Select($id, $possibleValues, $value, $label, $description);
    }

    /**
     * @throws Exception
     */
    public function createRadio(
        string $id,
        array $possibleValues,
        mixed $value = null,
        ?string $label = null,
        ?string $description = null
    ): Radio {
        return new Radio($id, $possibleValues, $value, $label, $description);
    }
}

```
