Class JsonType

JSON type converter.

Use to convert JSON data between PHP and the database types.

Namespace: Cake\Database\Type

Properties summary

  • $_name protected
    string|null

    Identifier name for this type

Method Summary

  • __construct() public

    Constructor

  • getBaseType() public

    Returns the base type name that this class is inheriting.

  • getName() public

    Returns type identifier name for this object.

  • manyToPHP() public

    Returns an array of the values converted to the PHP representation of this type.

  • marshal() public

    Marshals request data into a JSON compatible structure.

  • newId() public

    Generate a new primary key value for a given type.

  • toDatabase() public

    Convert a value data into a JSON string

  • toPHP() public

    Casts given value from a database type to a PHP equivalent.

  • toStatement() public

    Get the correct PDO binding type for string data.

Method Detail

__construct() public

__construct(?string $name)

Constructor

Parameters

string|null $name optional

The name identifying this type

getBaseType() public

getBaseType()

Returns the base type name that this class is inheriting.

This is useful when extending base type for adding extra functionality, but still want the rest of the framework to use the same assumptions it would do about the base type it inherits from.

Returns

string|null

The base type name that this class is inheriting.

getName() public

getName()

Returns type identifier name for this object.

Returns

string|null

The type identifier name for this object.

manyToPHP() public

manyToPHP(array $values, array $fields, \Cake\Database\DriverInterface $driver)

Returns an array of the values converted to the PHP representation of this type.

Parameters

array $values

The original array of values containing the fields to be casted

string[] $fields

The field keys to cast

\Cake\Database\DriverInterface $driver

Object from which database preferences and configuration will be extracted.

Returns

array

marshal() public

marshal(mixed $value)

Marshals request data into a JSON compatible structure.

Parameters

mixed $value

The value to convert.

Returns

mixed

Converted value.

newId() public

newId()

Generate a new primary key value for a given type.

This method can be used by types to create new primary key values when entities are inserted.

Returns

mixed

A new primary key value.

See Also

\Cake\Database\Type\UuidType

toDatabase() public

toDatabase(mixed $value, \Cake\Database\DriverInterface $driver)

Convert a value data into a JSON string

Parameters

mixed $value

The value to convert.

\Cake\Database\DriverInterface $driver

The driver instance to convert with.

Returns

string|null

Throws

InvalidArgumentException

toPHP() public

toPHP(mixed $value, \Cake\Database\DriverInterface $driver)

Casts given value from a database type to a PHP equivalent.

Parameters

mixed $value

The value to convert.

\Cake\Database\DriverInterface $driver

The driver instance to convert with.

Returns

string|array|null

toStatement() public

toStatement(mixed $value, \Cake\Database\DriverInterface $driver)

Get the correct PDO binding type for string data.

Parameters

mixed $value

The value being bound.

\Cake\Database\DriverInterface $driver

The driver.

Returns

int

Property Detail

$_name protected

Identifier name for this type

Type

string|null

© 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.Database.Type.JsonType.html