W3cubDocs

/CakePHP 4.4

Class JsonType

JSON type converter.

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

Namespace: Cake\Database\Type

Property Summary

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.

  • setEncodingOptions() public

    Set json_encode options.

  • 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|null $name = null)

Constructor

Parameters

string|null $name optional

The name identifying this type

getBaseType() public

getBaseType(): string|null

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

getName() public

getName(): string|null

Returns type identifier name for this object.

Returns

string|null

manyToPHP() public

manyToPHP(array $values, array<string> $fields, Cake\Database\DriverInterface $driver): array<string, mixed>

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

Parameters

array $values
array<string> $fields
Cake\Database\DriverInterface $driver

Returns

array<string, mixed>

marshal() public

marshal(mixed $value): mixed

Marshals request data into a JSON compatible structure.

Most useful for converting request data into PHP objects, that make sense for the rest of the ORM/Database layers.

Parameters

mixed $value

The value to convert.

Returns

mixed

newId() public

newId(): mixed

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

setEncodingOptions() public

setEncodingOptions(int $options): $this

Set json_encode options.

Parameters

int $options

Encoding flags. Use JSON_* flags. Set 0 to reset.

Returns

$this

See Also

https://www.php.net/manual/en/function.json-encode.php

toDatabase() public

toDatabase(mixed $value, Cake\Database\DriverInterface $driver): string|null

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): array|string|null

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

array|string|null

toStatement() public

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

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

$_encodingOptions protected

Type

int

$_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.4/class-Cake.Database.Type.JsonType.html