Класс Type
Оборачивает все функции преобразования значений из базы данных в PHP и из PHP в базу данных.
- Cake\Database\Type реализует Cake\Database\TypeInterface
Прямые подклассы
- Cake\Database\Type\BinaryType
- 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
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
- _basicTypeCast() protected
Проверяет, является ли этот тип базовым и может ли он быть преобразован с помощью обратного вызова. Если да, возвращает преобразованное значение.
- Преобразователь типа для логических значений.
- Возвращает объект 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
_basicTypeCast( mixed $value )
Проверяет, является ли этот тип базовым и может ли он быть преобразован с помощью обратного вызова. Если да, возвращает преобразованное значение.
Устарело
3.1 Все типы теперь должны быть отдельными классамиПараметры
- mixed
$value - Значение, которое необходимо преобразовать в эквивалент PHP
Возвращает
mixedboolval()source public static
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() getName()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.
Deprecated: Использование $type как \Cake\Database\Type[] устарело. Пожалуйста, всегда используйте string[] при передаче массива в качестве первого аргумента.
Параметры
- string|string[]|
Cake\Database\Type[]|null$typeoptional null - Если строковое имя типа для сопоставления, если массив списком массивов, которые нужно сопоставить
- string|
Cake\Database\Type|null$classNameoptional 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 - Экземпляр типа, который вы хотите установить.
strval()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' => ['\Cake\Database\Type', 'strval']],
'text' => ['callback' => ['\Cake\Database\Type', 'strval']],
'boolean' => [
'callback' => ['\Cake\Database\Type', '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',
'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–2018 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.5/class-Cake.Database.Type.html