Класс JsonType
Конвертер типов JSON.
Используется для преобразования данных JSON между PHP и типами базы данных.
Краткое описание свойств
- $_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 для строковых данных.
Подробное описание методов
__construct() public
__construct(string|null $name = null)
Конструктор
Параметры
-
string|null$name optional Имя, идентифицирующее этот тип
getBaseType() public
getBaseType(): string|null
Возвращает имя базового типа, от которого наследуется этот класс.
Это полезно, когда вы расширяете базовый тип для добавления дополнительной функциональности, но всё ещё хотите, чтобы остальная часть фреймворка использовала те же предположения о базовом типе, от которого он унаследован.
Возвращаемое значение
string|nullgetName() public
getName(): string|null
Возвращает имя идентификатора типа для этого объекта.
Возвращаемое значение
string|nullmanyToPHP() public
manyToPHP(array $values, array<string> $fields, Cake\Database\DriverInterface $driver): array<string, mixed>
Возвращает массив значений, преобразованных в представление этого типа в PHP.
Параметры
-
array$values -
array<string>$fields -
Cake\Database\DriverInterface$driver
Возвращаемое значение
array<string, mixed>marshal() public
marshal(mixed $value): mixed
Преобразует данные запроса в структуру, совместимую с JSON.
Наиболее полезно для преобразования данных запроса в объекты PHP, которые имеют смысл для остальной части слоёв ORM/базы данных.
Параметры
-
mixed$value Значение для преобразования.
Возвращаемое значение
mixednewId() public
newId(): mixed
Генерирует новое значение первичного ключа для данного типа.
Этот метод может использоваться типами для создания новых значений первичного ключа при вставке сущностей.
Возвращаемое значение
mixedsetEncodingOptions() public
setEncodingOptions(int $options): $this
Устанавливает опции json_encode.
Параметры
-
int$options Флаги кодирования. Используйте флаги JSON_*. Установите
0для сброса.
Возвращаемое значение
$thisСм. также
toDatabase() public
toDatabase(mixed $value, Cake\Database\DriverInterface $driver): string|null
Преобразует данные значения в строку JSON.
Параметры
-
mixed$value Значение для преобразования.
-
Cake\Database\DriverInterface$driver Экземпляр драйвера для преобразования.
Возвращаемое значение
string|nullИсключения
InvalidArgumentExceptiontoPHP() public
toPHP(mixed $value, Cake\Database\DriverInterface $driver): array|string|null
Преобразует заданное значение из типа базы данных в эквивалент PHP.
Параметры
-
mixed$value Значение для преобразования.
-
Cake\Database\DriverInterface$driver Экземпляр драйвера для преобразования.
Возвращаемое значение
array|string|nulltoStatement() public
toStatement(mixed $value, Cake\Database\DriverInterface $driver): int
Получает правильный тип привязки PDO для строковых данных.
Параметры
-
mixed$value Связываемое значение.
-
Cake\Database\DriverInterface$driver Драйвер.
Возвращаемое значение
intПодробное описание свойств
$_encodingOptions protected
Тип
int$_name protected
Имя идентификатора для этого типа
Тип
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