类 JsonType
JSON 类型转换器。
用于在 PHP 和数据库类型之间转换 JSON 数据。
命名空间: Cake\Database\Type
属性摘要
-
$_encodingOptions protected
int
-
$_name protected
string|null
此类型的标识符名称
方法摘要
-
__construct() public
构造函数
-
getBaseType() public
返回此类继承的基类型名称。
-
getName() public
返回此对象的类型标识符名称。
-
manyToPHP() public
返回转换为此类型的 PHP 表示的值数组。
-
marshal() public
将请求数据编组为 JSON 兼容结构。
-
newId() public
为给定类型生成新的主键值。
-
setEncodingOptions() public
设置 json_encode 选项。
-
toDatabase() public
将值数据转换为 JSON 字符串
-
toPHP() public
将给定值从数据库类型转换为 PHP 等效值。
-
toStatement() public
获取在 PDO 语句中使用的绑定类型。
方法详细
getBaseType() ¶ public
getBaseType(): string|null
返回此类继承的基类型名称。
这在扩展基类型以添加额外功能时很有用,但仍然希望框架的其余部分使用它对继承的基类型所做的相同假设。
返回值
string|null
manyToPHP() ¶ public
manyToPHP(array $values, list<string> $fields, Cake\Database\Driver $driver): array<string, mixed>
返回转换为此类型的 PHP 表示的值数组。
参数
-
array
$values -
list<string>
$fields -
Cake\Database\Driver
$driver
返回值
array<string, mixed>
marshal() ¶ public
marshal(mixed $value): mixed
将请求数据编组为 JSON 兼容结构。
最适合将请求数据转换为 PHP 对象,这些对象对 ORM/数据库层更有意义。
参数
-
mixed
$value 要转换的值。
返回值
混合
setEncodingOptions() ¶ public
setEncodingOptions(int $options): $this
设置 json_encode 选项。
参数
-
int
$options 编码标志。使用 JSON_* 标志。设置
0
重置。
返回值
$this
另请参阅
https://php.ac.cn/manual/en/function.json-encode.php
toDatabase() ¶ public
toDatabase(mixed $value, Cake\Database\Driver $driver): string|null
将值数据转换为 JSON 字符串
参数
-
mixed
$value 要转换的值。
-
Cake\Database\Driver
$driver 要转换的驱动程序实例。
返回值
string|null
抛出
InvalidArgumentException
JsonException
toPHP() ¶ public
toPHP(mixed $value, Cake\Database\Driver $driver): mixed
将给定值从数据库类型转换为 PHP 等效值。
参数
-
mixed
$value 要转换的值。
-
Cake\Database\Driver
$driver 要转换的驱动程序实例。
返回值
混合
toStatement() ¶ public
toStatement(mixed $value, Cake\Database\Driver $driver): int
获取在 PDO 语句中使用的绑定类型。
参数
-
mixed
$value -
Cake\Database\Driver
$driver
返回值
int