Class FormData

Provides an interface for building multipart/form-encoded message bodies.

Used by Http\Client to upload POST/PUT data and files.

Namespace: Cake\Http\Client

Properties summary

  • $_boundary protected
    string

    Boundary marker.

  • $_hasComplexPart protected
    bool

    Whether or not this formdata object has a complex part.

  • $_hasFile protected
    bool

    Whether or not this formdata object has attached files.

  • $_parts protected
    \Cake\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 or not the current payload has any files.

  • isMultipart() public

    Check whether or not the current payload is multipart.

  • newPart() public

    Method for creating new instances of Part

Method Detail

__toString() public

__toString()

Converts the FormData and its parts into a string suitable for use in an HTTP request.

Returns

string

add() public

add(mixed $name, mixed $value)

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

string|\Cake\Http\Client\FormDataPart $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, mixed $value)

Add either a file reference (string starting with @) or a file handle.

Parameters

string $name

The name to use.

mixed $value

Either a string filename, or a filehandle.

Returns

\Cake\Http\Client\FormDataPart

addMany() public

addMany(array $data)

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)

Recursively add data.

Parameters

string $name

The name to use.

mixed $value

The value to add.

boundary() public

boundary()

Get the boundary marker

Returns

string

contentType() public

contentType()

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

count() public

count()

Returns the count of parts inside this object.

Returns

int

hasFile() public

hasFile()

Check whether or not the current payload has any files.

Returns

bool

Whether or not there is a file in this payload.

isMultipart() public

isMultipart()

Check whether or not the current payload is multipart.

A payload will become multipart when you add files or use add() with a Part instance.

Returns

bool

Whether or not the payload is multipart.

newPart() public

newPart(string $name, string $value)

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

Property Detail

$_boundary protected

Boundary marker.

Type

string

$_hasComplexPart protected

Whether or not this formdata object has a complex part.

Type

bool

$_hasFile protected

Whether or not this formdata object has attached files.

Type

bool

$_parts protected

The parts in the form data.

Type

\Cake\Http\Client\FormDataPart[]

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.Http.Client.FormData.html