Класс 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
$nameoptional 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 экземпляр устарела, используйте только строку имени класса. - Использование этого метода в качестве геттера устарело. Используйте 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 )
Преобразует заданное значение в его эквивалент Statement.
Параметры
- mixed
$value - Значение, которое нужно преобразовать в PDO statement.
-
Cake\Database\Driver$driver - Объект, из которого будут извлечены настройки и конфигурация базы данных.
Возвращаемое значение
mixedПреобразованное значение в эквивалент Statement.
Реализация
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.8/class-Cake.Database.Type.html