Класс 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Список базовых сопоставлений типов, используемых для избежания необходимости создания экземпляра класса для выполнения преобразований этих типов.
- Содержит карту экземпляров объектов типа, используемых повторно при необходимости.
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 - Значение, которое нужно преобразовать в строку.
Возвращает
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 )
Преобразует заданное значение в его эквивалент для оператора SQL.
Параметры
- mixed
$value - Значение, которое нужно преобразовать в PDO statement.
-
Cake\Database\Driver$driver - Объект, из которого будут извлечены настройки и конфигурация базы данных.
Возвращает
mixedПреобразованное значение в эквивалент оператора SQL.
Реализация
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
Список поддерживаемых типов базы данных. В качестве ключа используется удобочитаемый идентификатор, а в качестве значения — полное имя класса с пространством имён, представляющее класс, который будет выполнять фактические преобразования типов.
[
'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–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.html