class Form extends Link implements ArrayAccess

Form represents an HTML form.

Properties

protected DOMElement $node from AbstractUriElement
protected string $method from AbstractUriElement
protected string $currentUri from AbstractUriElement

Methods

__construct(DOMElement $node, string $currentUri, string|null $method = null, string $baseHref = null)

No description

getNode()

Gets the node associated with this link.

string
getMethod()

Gets the form method.

string
getUri()

Gets the URI of the form.

string
getRawUri()

Returns raw URI data.

string
canonicalizePath(string $path)

Returns the canonicalized URI path (see RFC 3986, section 5.2.4).

setNode(DOMElement $node)

Sets the node for the form.

getFormNode()

Gets the form node associated with this form.

$this
setValues(array $values)

Sets the value of the fields.

array
getValues()

Gets the field values.

array
getFiles()

Gets the file field values.

array
getPhpValues()

Gets the field values as PHP.

array
getPhpFiles()

Gets the file field values as PHP.

bool
has(string $name)

Returns true if the named field exists.

remove(string $name)

Removes a field from the form.

get(string $name)

Gets a named field.

set(FormField $field)

Sets a named field.

all()

Gets all fields.

bool
offsetExists(string $name)

Returns true if the named field exists.

offsetGet(string $name)

Gets the value of a field.

offsetSet(string $name, string|array $value)

Sets the value of a field.

offsetUnset(string $name)

Removes a field from the form.

disableValidation()

Disables validation.

Details

at line 47
__construct(DOMElement $node, string $currentUri, string|null $method = null, string $baseHref = null)

Parameters

DOMElement $node A \DOMElement instance
string $currentUri The URI of the page where the link is embedded (or the base href)
string|null $method The method to use for the link (GET by default)
string $baseHref The URI of the used for relative links, but not for empty action

Exceptions

LogicException if the node is not a button inside a form tag

in AbstractUriElement at line 61
DOMElement getNode()

Gets the node associated with this link.

Return Value

DOMElement A \DOMElement instance

at line 239
string getMethod()

Gets the form method.

If no method is defined in the form, GET is returned.

Return Value

string The method

at line 201
string getUri()

Gets the URI of the form.

The returned URI is not the same as the form "action" attribute. This method merges the value if the method is GET to mimics browser behavior.

Return Value

string The URI

at line 222
protected string getRawUri()

Returns raw URI data.

Return Value

string

in AbstractUriElement at line 139
protected string canonicalizePath(string $path)

Returns the canonicalized URI path (see RFC 3986, section 5.2.4).

Parameters

string $path URI path

Return Value

string

at line 379
protected setNode(DOMElement $node)

Sets the node for the form.

Expects a 'submit' button \DOMElement and finds the corresponding form element, or the form element itself.

Parameters

DOMElement $node A \DOMElement instance

Exceptions

LogicException If given node is not a button or input or does not have a form ancestor

at line 60
DOMElement getFormNode()

Gets the form node associated with this form.

Return Value

DOMElement A \DOMElement instance

at line 72
$this setValues(array $values)

Sets the value of the fields.

Parameters

array $values An array of field values

Return Value

$this

at line 88
array getValues()

Gets the field values.

The returned array does not include file fields (see getFiles).

Return Value

array An array of field values

at line 109
array getFiles()

Gets the file field values.

Return Value

array An array of file field values

at line 138
array getPhpValues()

Gets the field values as PHP.

This method converts fields with the array notation (like foo[bar] to arrays) like PHP does.

Return Value

array An array of field values

at line 165
array getPhpFiles()

Gets the file field values as PHP.

This method converts fields with the array notation (like foo[bar] to arrays) like PHP does. The returned array is consistent with the array for field values (see getPhpValues), rather than uploaded files found in $_FILES. For a compound file field foo[bar] it will create foo[bar][name], instead of foo[name][bar] which would be found in $_FILES.

Return Value

array An array of file field values

at line 260
bool has(string $name)

Returns true if the named field exists.

Parameters

string $name The field name

Return Value

bool true if the field exists, false otherwise

at line 270
remove(string $name)

Removes a field from the form.

Parameters

string $name The field name

at line 284
FormField get(string $name)

Gets a named field.

Parameters

string $name The field name

Return Value

FormField The field instance

Exceptions

InvalidArgumentException When field is not present in this form

at line 292
set(FormField $field)

Sets a named field.

Parameters

FormField $field

at line 302
FormField[] all()

Gets all fields.

Return Value

FormField[]

at line 314
bool offsetExists(string $name)

Returns true if the named field exists.

Parameters

string $name The field name

Return Value

bool true if the field exists, false otherwise

at line 328
FormField offsetGet(string $name)

Gets the value of a field.

Parameters

string $name The field name

Return Value

FormField The associated Field instance

Exceptions

InvalidArgumentException if the field does not exist

at line 341
offsetSet(string $name, string|array $value)

Sets the value of a field.

Parameters

string $name The field name
string|array $value The value of the field

Exceptions

InvalidArgumentException if the field does not exist

at line 351
offsetUnset(string $name)

Removes a field from the form.

Parameters

string $name The field name

at line 361
Form disableValidation()

Disables validation.

Return Value

Form