Класс JsonType
Конвертер типов JSON.
Используется для преобразования данных JSON между PHP и типами базы данных.
- Cake\Database\Type implements Cake\Database\TypeInterface
-
Cake\Database\Type\JsonType implements Cake\Database\TypeInterface, Cake\Database\Type\BatchCastingInterface
Краткое описание свойств
-
$_nameprotectedИмя идентификатора для этого типа.string|null
Наследуемые свойства
Краткое описание методов
- __construct() publicКонструктор.
- manyToPHP() public
Возвращает массив значений, преобразованных в представление PHP этого типа.
- marshal() publicПреобразует данные запроса в структуру, совместимую с JSON.
- toDatabase() publicПреобразует данные значения в строку JSON
- toPHP() publicПреобразует строковые значения в массивы PHP.
- toStatement() publicПолучение правильного типа привязки PDO для строковых данных.
Подробное описание методов
__construct()source public
__construct( string|null $name = null )
Конструктор.
(Этот метод объявлен здесь повторно, чтобы в будущем можно было удалить наследование от Cake\Database\Type.)
Параметры
- string|null
$nameнеобязательно null - Имя, определяющее этот тип
Переопределяет
Cake\Database\Type::__construct() manyToPHP()source public
manyToPHP( array $values , array $fields , Cake\Database\Driver $driver )
Возвращает массив значений, преобразованных в представление PHP этого типа.
Параметры
- array
$values - Исходный массив значений, содержащий поля для преобразования
- array
$fields - Ключи полей для преобразования
-
Cake\Database\Driver$driver - Объект, из которого будут извлечены настройки и конфигурация базы данных.
Возвращает
arrayРеализация
Cake\Database\Type\BatchCastingInterface::manyToPHP() marshal()source public
marshal( mixed $value )
Преобразует данные запроса в структуру, совместимую с JSON.
Параметры
- mixed
$value - Значение для преобразования.
Возвращает
mixedПреобразованное значение.
Переопределяет
Cake\Database\Type::marshal() Реализация
Cake\Database\TypeInterface::marshal() toDatabase()source public
toDatabase( mixed $value , Cake\Database\Driver $driver )
Преобразует данные значения в строку JSON
Параметры
- mixed
$value - Значение для преобразования.
-
Cake\Database\Driver$driver - Экземпляр драйвера для преобразования.
Возвращает
string|nullПереопределяет
Cake\Database\Type::toDatabase() Реализация
Cake\Database\TypeInterface::toDatabase() toPHP()source public
toPHP( mixed $value , Cake\Database\Driver $driver )
Преобразует строковые значения в массивы PHP.
Параметры
- mixed
$value - Значение для преобразования.
-
Cake\Database\Driver$driver - Экземпляр драйвера для преобразования.
Возвращает
string|null|arrayПереопределяет
Cake\Database\Type::toPHP() Реализация
Cake\Database\TypeInterface::toPHP() toStatement()source public
toStatement( mixed $value , Cake\Database\Driver $driver )
Получение правильного типа привязки PDO для строковых данных.
Параметры
- mixed
$value - Связываемое значение.
-
Cake\Database\Driver$driver - Драйвер.
Возвращает
integerПереопределяет
Cake\Database\Type::toStatement() Реализация
Cake\Database\TypeInterface::toStatement() Методы, унаследованные от Cake\Database\Type
__debugInfo()source public
__debugInfo( )
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
Возвращает
array_basicTypeCast()source protected deprecated
_basicTypeCast( mixed $value )
Проверяет, является ли этот тип базовым и может ли он быть преобразован с помощью обратного вызова. Если это так, возвращает преобразованное значение.
Устарело
3.1 Все типы теперь должны быть отдельными классамиПараметры
- mixed
$value - Значение для преобразования в эквивалент PHP
Возвращает
mixedboolval()source public static deprecated
boolval( mixed $value )
Конвертер типов для логических значений.
Преобразует строки true/false в логические значения.
Устарело
3.1.8 Этот метод больше не используется.Параметры
- mixed
$value - Значение для преобразования в логическое.
Возвращает
booleanbuild()source public static
build( string $name )
Возвращает объект Type, способный преобразовывать тип, определяемый по имени.
Параметры
- string
$name - Идентификатор типа
Возвращает
Cake\Database\TypeИсключения
InvalidArgumentExceptionЕсли идентификатор типа неизвестен
buildAll()source public static
buildAll( )
Возвращает массив со всеми сопоставленными объектами типа, индексированными по имени.
Возвращает
arrayclear()source public static
clear( )
Очищает все созданные экземпляры и сопоставленные классы типов, полезно для тестирования
getBaseType()source public
getBaseType( )
Возвращает базовое имя типа, от которого наследуется этот класс.
Возвращает
stringБазовое имя типа, от которого наследуется этот класс.
Реализация
Cake\Database\TypeInterface::getBaseType() getMap()source public static
getMap( string|null $type = null )
Получение имени сопоставленного класса или экземпляра для типа(ов).
Параметры
- string|null
$typeнеобязательно null - Имя типа, для которого необходимо получить сопоставленный класс, или null для получения массива отображения.
Возвращает
array|string|Cake\Database\TypeInterface|nullИмя настроенного класса или экземпляра для заданного $type или массив отображения.
С
3.6.2getName()source public
getName( )
Возвращает имя идентификатора типа для данного объекта.
Возвращает
stringИмя идентификатора типа для данного объекта.
Реализация
Cake\Database\TypeInterface::getName() map()source public static
map( string|string[]|Cake\Database\Type[]|null $type = null , string|Cake\Database\Type|null $className = null )
Регистрирует новый идентификатор типа и сопоставляет его с полным именем класса с пространством имён. Если вызвана без аргументов, она вернёт текущий массив отображений типов. Если $className опущено, она вернёт сопоставленный класс для $type.
Устарело с версии 3.6.2: - Использование $type как string[]|\Cake\Database\Type[] устарело. Используйте Type::setMap() со строковым массивом вместо этого. - Передача $className как \Cake\Database\Type экземпляра устарела, используйте только строку имени класса. - Использование этого метода в качестве геттера устарело. Используйте Type::getMap() вместо этого.
Параметры
- string|string[]|
Cake\Database\Type[]|null$typeнеобязательно null - Если строковое имя типа для сопоставления, если массив списков массивов для сопоставления
- string|
Cake\Database\Type|null$classNameнеобязательно null - Имя класса или экземпляр объекта для регистрации.
Возвращает
array|string|nullЕсли $type равен null, то массив с текущим отображением, если $className равен null, строка сконфигурированного имени класса для данного $type, иначе null.
newId()source public
newId( )
Генерирует новое значение первичного ключа для данного типа.
Возвращает
mixedНовое значение первичного ключа.
Реализация
Cake\Database\TypeInterface::newId() set()source public static
set( string $name , Cake\Database\Type $instance )
Возвращает объект Type, способный преобразовывать тип, идентифицируемый по $name.
Параметры
- string
$name - Идентификатор типа, который вы хотите установить.
-
Cake\Database\Type$instance - Экземпляр типа, который вы хотите установить.
setMap()source public static
setMap( array $map )
Устанавливает сопоставление типов с именами классов.
Параметры
- array
$map - Список типов для сопоставления.
С версии
3.6.2strval()source public static deprecated
strval( mixed $value )
Преобразователь типов для строковых значений.
Преобразует значения в строки
Устарело
3.1.8 Этот метод больше не используется.Параметры
- mixed
$value - Значение, которое нужно преобразовать в строку.
Возвращает
stringПодробности свойств
$_namesource
protected string|null
Имя идентификатора данного типа.
(Это свойство объявлено здесь повторно, чтобы в будущем можно было удалить наследование от Cake\Database\Type.)
© 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/3.8/class-Cake.Database.Type.JsonType.html