Класс Type
Включает в себя все функции преобразования значений, поступающих из базы данных в PHP и из PHP в базу данных.
- Cake\Database\Type реализует Cake\Database\TypeInterface
Прямые подклассы
- Cake\Database\Type\BinaryType
- Cake\Database\Type\BoolType
- Cake\Database\Type\DateTimeType
- Cake\Database\Type\FloatType
- Cake\Database\Type\IntegerType
- Cake\Database\Type\StringType
Косвенные подклассы
Резюме свойств
-
arrayСписок базовых сопоставлений типов, используемых для избежания необходимости создания экземпляра класса для выполнения преобразований этих типов
- Содержит карту экземпляров объектов типа, которые будут повторно использоваться при необходимости
array -
$_nameprotectedИдентификатор имени для данного типаstring -
arrayСписок поддерживаемых типов баз данных. В качестве ключа используется удобочитаемый идентификатор, а в качестве значения — полное имя пространственного класса, представляющее класс, который будет выполнять фактические преобразования типов.
Резюме методов
- __construct() publicКонструктор
- _basicTypeCast() protected
Проверяет, является ли этот тип базовым и может ли он быть преобразован с помощью обратного вызова. Если это так, возвращает преобразованное значение
- Преобразователь типа для логических значений.
- Возвращает объект Type, способный преобразовать тип, идентифицированный по $name
- Возвращает массив со всеми сопоставленными объектами типа, индексированными по имени
- Очищает все созданные экземпляры и сопоставленные классы типов, полезно для тестирования
- 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 - Имя, идентифицирующее этот тип
_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, способный преобразовать тип, идентифицированный по $name
Параметры
- 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|array|Cake\Database\Type|null $type null , string|null $className null )
Регистрирует новый идентификатор типа и сопоставляет его с полным именем пространственного класса. Если вызов осуществляется без аргументов, он вернёт текущий массив сопоставлений типов. Если $className опущен, он вернёт сопоставленный класс для $type.
Параметры
- string|array|
Cake\Database\Type|null$typeнеобязательно null - если строка — имя типа для сопоставления, если массив — список массивов для сопоставления
- string|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 - Экземпляр типа, который вы хотите установить.
strval()source public static
strval( mixed $value )
Преобразователь типов для строковых значений.
Преобразует значения в строки
Устарело
3.1.8 Этот метод больше не используется.Параметры
- mixed
$value - Значение, которое нужно преобразовать в строку.
Возвращает
booleantoDatabase()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-запрос.
-
Cake\Database\Driver$driver - Объект, из которого будут извлечены настройки и конфигурация базы данных.
Возвращает
mixedПреобразованное значение в эквивалент Statement.
Реализация
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 array
Содержит карту экземпляров объектов типа, которые можно повторно использовать при необходимости
[]
$_typessource
protected static array
Список поддерживаемых типов базы данных. В качестве ключа используется читаемое человеком имя, а в качестве значения — полное имя пространства имен класса, представляющего класс, который будет выполнять фактические преобразования типов.
[
'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\FloatType',
'float' => 'Cake\Database\Type\FloatType',
'integer' => 'Cake\Database\Type\IntegerType',
'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–2016 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.
http://api.cakephp.org/3.2/class-Cake.Database.Type.html