Class JsonType
JSON type converter.
Use to convert JSON data between PHP and the database types.
Property Summary
-
$_encodingOptions protected
int
-
$_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.
-
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 binding type to use in a PDO statement.
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, list<string> $fields, Cake\Database\Driver $driver): array<string, mixed>
Returns an array of the values converted to the PHP representation of this type.
Parameters
-
array
$values -
list<string>
$fields -
Cake\Database\Driver
$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
toDatabase() ¶ public
toDatabase(mixed $value, Cake\Database\Driver $driver): string|null
Convert a value data into a JSON string
Parameters
-
mixed
$value The value to convert.
-
Cake\Database\Driver
$driver The driver instance to convert with.
Returns
string|null
Throws
InvalidArgumentException
JsonException
toPHP() ¶ public
toPHP(mixed $value, Cake\Database\Driver $driver): mixed
Casts given value from a database type to a PHP equivalent.
Parameters
-
mixed
$value The value to convert.
-
Cake\Database\Driver
$driver The driver instance to convert with.
Returns
mixed
toStatement() ¶ public
toStatement(mixed $value, Cake\Database\Driver $driver): int
Get the binding type to use in a PDO statement.
Parameters
-
mixed
$value -
Cake\Database\Driver
$driver
Returns
int