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