Class FormData
Provides an interface for building multipart/form-encoded message bodies.
Used by Http\Client to upload POST/PUT data and files.
Property Summary
-
$_boundary protected
string
Boundary marker.
-
$_hasComplexPart protected
bool
Whether this formdata object has a complex part.
-
$_hasFile protected
bool
Whether this formdata object has attached files.
-
$_parts protected
arrayCake\Http\Client\FormDataPart>
The parts in the form data.
Method Summary
-
__toString() public
Converts the FormData and its parts into a string suitable for use in an HTTP request.
-
add() public
Add a new part to the data.
-
addFile() public
Add either a file reference (string starting with @) or a file handle.
-
addMany() public
Add multiple parts at once.
-
addRecursive() public
Recursively add data.
-
boundary() public
Get the boundary marker
-
contentType() public
Get the content type for this payload.
-
count() public
Returns the count of parts inside this object.
-
hasFile() public
Check whether the current payload has any files.
-
isMultipart() public
Check whether the current payload is multipart.
-
newPart() public
Method for creating new instances of Part
Method Detail
__toString() ¶ public
__toString(): string
Converts the FormData and its parts into a string suitable for use in an HTTP request.
Returns
string
add() ¶ public
add(Cake\Http\Client\FormDataPart|string $name, mixed $value = null): $this
Add a new part to the data.
The value for a part can be a string, array, int, float, filehandle, or object implementing __toString()
If the $value is an array, multiple parts will be added. Files will be read from their current position and saved in memory.
Parameters
-
Cake\Http\Client\FormDataPart|string
$name The name of the part to add, or the part data object.
-
mixed
$value optional The value for the part.
Returns
$this
addFile() ¶ public
addFile(string $name, string|resourcePsr\Http\Message\UploadedFileInterface $value): Cake\Http\Client\FormDataPart
Add either a file reference (string starting with @) or a file handle.
Parameters
-
string
$name The name to use.
-
string|resourcePsr\Http\Message\UploadedFileInterface
$value Either a string filename, or a filehandle, or a UploadedFileInterface instance.
Returns
Cake\Http\Client\FormDataPart
addMany() ¶ public
addMany(array $data): $this
Add multiple parts at once.
Iterates the parameter and adds all the key/values.
Parameters
-
array
$data Array of data to add.
Returns
$this
addRecursive() ¶ public
addRecursive(string $name, mixed $value): void
Recursively add data.
Parameters
-
string
$name The name to use.
-
mixed
$value The value to add.
Returns
void
contentType() ¶ public
contentType(): string
Get the content type for this payload.
If this object contains files, multipart/form-data
will be used,
otherwise application/x-www-form-urlencoded
will be used.
Returns
string
isMultipart() ¶ public
isMultipart(): bool
Check whether the current payload is multipart.
A payload will become multipart when you add files or use add() with a Part instance.
Returns
bool
newPart() ¶ public
newPart(string $name, string $value): Cake\Http\Client\FormDataPart
Method for creating new instances of Part
Parameters
-
string
$name The name of the part.
-
string
$value The value to add.
Returns
Cake\Http\Client\FormDataPart