Класс Type
Оборачивает все функции преобразования значений из базы данных в PHP и из PHP в базу данных.
- Cake\Database\Type реализует Cake\Database\TypeInterface
Прямые подклассы
- Cake\Database\Type\BinaryType
- Cake\Database\Type\BinaryUuidType
- Cake\Database\Type\BoolType
- Cake\Database\Type\DateTimeType
- Cake\Database\Type\DecimalType
- Cake\Database\Type\FloatType
- Cake\Database\Type\IntegerType
- Cake\Database\Type\JsonType
- Cake\Database\Type\StringType
Косвенные подклассы
Краткое описание свойств
-
arrayСписок основных отображений типов, используемых для предотвращения необходимости создания экземпляра класса для выполнения преобразования этих типов.
- Содержит карту экземпляров объектов типа, которые можно повторно использовать при необходимости.
-
$_nameprotectedИдентификатор имени для этого типаstring|null -
string[]|Cake\Database\Type[]Список поддерживаемых типов баз данных. В качестве ключа используется удобочитаемый идентификатор, а в качестве значения — полное имя класса с пространством имен, представляющее класс, который будет выполнять фактические преобразования типов.
Краткое описание методов
- __construct() publicКонструктор
- __debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
Проверяет, является ли этот тип базовым и может ли он быть преобразован с помощью обратного вызова. Если это так, возвращает преобразованное значение.
- Преобразователь типов для булевых значений.
- Возвращает объект Type, способный преобразовать тип, идентифицированный по имени.
- Возвращает массив со всеми сопоставленными объектами типа, индексированными по имени.
- Очищает все созданные экземпляры и сопоставленные классы типов, полезно для тестирования
- getBaseType() publicВозвращает базовое имя типа, от которого унаследован данный класс.
- Получить имя класса или экземпляр для типа(ов).
- getName() publicВозвращает имя идентификатора типа для этого объекта.
-
Регистрирует новый идентификатор типа и сопоставляет его с полным именем класса с пространством имен, Если вызывается без аргументов, возвращает текущий массив сопоставлений типов. Если $className опущен, возвращает сопоставленный класс для $type.
- marshal() publicПреобразует плоские данные в объекты PHP.
- newId() publicГенерирует новое значение первичного ключа для заданного типа.
- Возвращает объект Type, способный преобразовать тип, идентифицированный по $name
- Устанавливает сопоставление типа с именем класса.
- Преобразователь типов для строковых значений.
- toDatabase() publicПреобразует заданное значение из типа PHP в тип, приемлемый для базы данных.
- toPHP() publicПреобразует заданное значение из типа базы данных в эквивалентный тип PHP
- toStatement() publicПреобразует заданное значение в его эквивалент Statement.
Подробное описание методов
__construct()source public
__construct( string|null $name = null )
Конструктор
Параметры
- string|null
$nameнеобязательный null - Имя, идентифицирующее этот тип
__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() с string[] вместо этого. - Передача $className как \Cake\Database\Type instance устарела, используйте только строку с именем класса. - Использование этого метода в качестве геттера устарело. Используйте 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.
marshal()source public
marshal( mixed $value )
Преобразует плоские данные в объекты PHP.
Параметры
- mixed
$value - Значение для преобразования.
Возвращает
mixedПреобразованное значение.
Реализация
Cake\Database\TypeInterface::marshal() 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 устаревшее
strval( mixed $value )
Преобразователь типов для строковых значений.
Преобразует значения в строки
Устаревшее
3.1.8 Этот метод больше не используется.Параметры
- mixed
$value - Значение, которое нужно преобразовать в строку.
Возвращает
stringtoDatabase()source public
toDatabase( mixed $value , Cake\Database\Driver $driver )
Преобразует заданное значение из типа PHP в тип, приемлемый для базы данных.
Параметры
- mixed
$value - Значение, которое нужно преобразовать в эквивалент базы данных.
-
Cake\Database\Driver$driver - Объект, из которого извлекаются настройки и конфигурация базы данных.
Возвращает
mixedЗаданный тип PHP, преобразованный в тип, приемлемый для базы данных.
Реализация
Cake\Database\TypeInterface::toDatabase() toPHP()source public
toPHP( mixed $value , Cake\Database\Driver $driver )
Преобразует заданное значение из типа базы данных в эквивалент PHP.
Параметры
- mixed
$value - Значение, которое нужно преобразовать в эквивалент PHP.
-
Cake\Database\Driver$driver - Объект, из которого извлекаются настройки и конфигурация базы данных.
Возвращает
mixedРеализация
Cake\Database\TypeInterface::toPHP() toStatement()source public
toStatement( mixed $value , Cake\Database\Driver $driver )
Преобразует заданное значение в эквивалент заявления.
Параметры
- mixed
$value - Значение, которое нужно преобразовать в PDO-запрос.
-
Cake\Database\Driver$driver - Объект, из которого извлекаются настройки и конфигурация базы данных.
Возвращает
mixedЗаданное значение, преобразованное в эквивалент заявления.
Реализация
Cake\Database\TypeInterface::toStatement() Подробное описание свойств
$_basicTypessource
protected static array
Список базовых сопоставлений типов, используемых для избежания необходимости создания класса для преобразования.
Устаревшее
3.1 Все типы теперь используют отдельный класс[
'string' => ['callback' => [Type::class, 'strval']],
'text' => ['callback' => [Type::class, 'strval']],
'boolean' => [
'callback' => [Type::class, 'boolval'],
'pdo' => PDO::PARAM_BOOL
],
] $_builtTypessource
protected static Cake\Database\Type[]
Содержит карту экземпляров объектов типа, которые можно повторно использовать при необходимости.
[]
$_typessource
protected static string[]|Cake\Database\Type[]
Список поддерживаемых типов базы данных. В качестве ключа используется удобочитаемый идентификатор, а в качестве значения — полное имя класса с пространством имен, представляющее класс, который будет выполнять фактическое преобразование типов.
[
'tinyinteger' => 'Cake\Database\Type\IntegerType',
'smallinteger' => 'Cake\Database\Type\IntegerType',
'integer' => 'Cake\Database\Type\IntegerType',
'biginteger' => 'Cake\Database\Type\IntegerType',
'binary' => 'Cake\Database\Type\BinaryType',
'binaryuuid' => 'Cake\Database\Type\BinaryUuidType',
'boolean' => 'Cake\Database\Type\BoolType',
'date' => 'Cake\Database\Type\DateType',
'datetime' => 'Cake\Database\Type\DateTimeType',
'decimal' => 'Cake\Database\Type\DecimalType',
'float' => 'Cake\Database\Type\FloatType',
'json' => 'Cake\Database\Type\JsonType',
'string' => 'Cake\Database\Type\StringType',
'text' => 'Cake\Database\Type\StringType',
'time' => 'Cake\Database\Type\TimeType',
'timestamp' => 'Cake\Database\Type\DateTimeType',
'uuid' => 'Cake\Database\Type\UuidType',
]
© 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.6/class-Cake.Database.Type.html