Класс DateTimeType
Конвертер типа DateTime.
Используется для преобразования экземпляров datetime в строки и обратно.
- Cake\Database\Type implements Cake\Database\TypeInterface
-
Cake\Database\Type\DateTimeType implements Cake\Database\TypeInterface, Cake\Database\Type\BatchCastingInterface
Прямые подклассы
Краткое описание свойств
-
$_classNameprotectedИмя класса для создания объектов.string -
$_datetimeInstanceprotectedDateTimeЭкземпляр сконфигурированного dateTimeClass, используемый для быстрого создания новых экземпляров без вызова конструктора.
-
$_formatprotectedФормат строки для парсинга DateTimestring|array -
$_localeFormatprotectedФормат даты для парсинга входящих дат для маршалинга.string|array|integer -
$_nameprotectedИмя идентификатора для этого типа.string|null -
$_useLocaleParserprotectedbooleanНеобходимо ли использовать локально-ориентированный парсер для парсинга дат при маршалинге входных строк.
- Класс для представления объектов дат
string -
$dbTimezoneprotectedЭкземпляр часового пояса.DateTimeZone|null -
$setToDateStartprotectedbooleanНужно ли переопределять время преобразованных объектов Time, чтобы оно указывало на начало дня.
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- _compare() protected
- _parseValue() protected
Преобразует строку в объект DateTime после её парсинга с помощью локально-ориентированного парсера со заданным форматом.
- _setClassName() protectedУстановить имя класса для создания объектов.
- getDateTimeClassName() publicПолучить имя класса, используемого для создания объектов.
- manyToPHP() public
Возвращает массив значений, преобразованных в представление PHP этого типа.
- marshal() publicПреобразовать данные запроса в объект datetime.
- setLocaleFormat() public
Устанавливает строку формата для парсинга дат в этом классе. Форматы, которые принимаются, описаны в функции
Cake\I18n\Time::parseDateTime(). - setTimezone() publicУстановить часовой пояс базы данных.
- toDatabase() publicПреобразовать экземпляр DateTime в строки.
- toPHP() publicПреобразовать строки в экземпляры DateTime.
- toStatement() publicПреобразует заданное значение в эквивалент Statement
- useImmutable() publicИзменить предпочтительное имя класса на реализацию FrozenTime.
- useLocaleParser() public
Устанавливает, нужно ли использовать локально-ориентированный парсер для парсинга дат, переданных в функцию marshal().
- useMutable() publicИзменить предпочтительное имя класса на реализацию изменяемого объекта Time.
Подробное описание методов
__construct()source public
__construct( string|null $name = null )
Конструктор
Параметры
- string|null
$nameoptional null - Имя, идентифицирующее этот тип
Переопределяет
Cake\Database\Type::__construct() _compare()source protected
_compare( Cake\I18n\Time|DateTime $date , mixed $value )
Параметры
-
Cake\I18n\Time|DateTime$date - Объект DateTime
- mixed
$value - Данные запроса
Возвращает
boolean_parseValue()source protected
_parseValue( string $value )
Преобразует строку в объект DateTime после её парсинга с помощью локально-ориентированного парсера со заданным форматом.
Параметры
- string
$value - Значение для парсинга и преобразования в объект.
Возвращает
Cake\I18n\Time|null_setClassName()source protected
_setClassName( string $class , string $fallback )
Установить имя класса для создания объектов.
Параметры
- string
$class - Имя класса для использования.
- string
$fallback - Имя класса для использования, если предпочтительный класс отсутствует.
getDateTimeClassName()source public
getDateTimeClassName( )
Получить имя класса, используемого для создания объектов.
Возвращает
stringmanyToPHP()source public
manyToPHP( array $values , array $fields , Cake\Database\Driver $driver )
Возвращает массив значений, преобразованных в представление PHP этого типа.
Параметры
- array
$values - Исходный массив значений, содержащий поля для преобразования
- array
$fields - Ключи полей для преобразования
-
Cake\Database\Driver$driver - Объект, из которого будут извлечены предпочтения и конфигурация базы данных.
Возвращает
arrayРеализация
Cake\Database\Type\BatchCastingInterface::manyToPHP() marshal()source public
marshal( mixed $value )
Преобразовать данные запроса в объект datetime.
Параметры
- mixed
$value - Данные запроса
Возвращает
DateTimeInterface|nullПереопределяет
Cake\Database\Type::marshal() Реализация
Cake\Database\TypeInterface::marshal() setLocaleFormat()source public
setLocaleFormat( string|array $format )
Устанавливает строку формата для парсинга дат в этом классе. Форматы, которые принимаются, описаны в функции Cake\I18n\Time::parseDateTime().
Параметры
- string|array
$format - Формат, в котором передаются строки.
Возвращает
$this
См. также
\Cake\I18n\Time::parseDateTime()setTimezone()source public
setTimezone( string|DateTimeZone|null $timezone )
Устанавливает часовой пояс базы данных.
Установленный часовой пояс будет установлен для объектов DateTime перед генерацией строки datetime для сохранения в базе данных. Если null, преобразование часовых поясов не будет выполнено.
Параметры
- string|DateTimeZone|null
$timezone - Часовой пояс базы данных.
Возвращает
$this
toDatabase()source public
toDatabase( string|integer|DateTime|DateTimeImmutable $value , Cake\Database\Driver $driver )
Преобразует экземпляр DateTime в строки.
Параметры
- string|integer|DateTime|DateTimeImmutable
$value - Значение для преобразования.
-
Cake\Database\Driver$driver - Экземпляр драйвера для преобразования.
Возвращает
string|nullПереопределяет
Cake\Database\Type::toDatabase() Реализация
Cake\Database\TypeInterface::toDatabase() toPHP()source public
toPHP( string $value , Cake\Database\Driver $driver )
Преобразует строки в экземпляры DateTime.
Параметры
- string
$value - Значение для преобразования.
-
Cake\Database\Driver$driver - Экземпляр драйвера для преобразования.
Возвращает
Cake\I18n\Time|DateTime|nullПереопределяет
Cake\Database\Type::toPHP() Реализация
Cake\Database\TypeInterface::toPHP() toStatement()source public
toStatement( mixed $value , Cake\Database\Driver $driver )
Преобразует заданное значение в эквивалент Statement.
Параметры
- mixed
$value - значение, которое должно быть преобразовано в PDO statement
-
Cake\Database\Driver$driver - объект, из которого будут извлечены настройки и конфигурация базы данных
Возвращает
mixedПереопределяет
Cake\Database\Type::toStatement() Реализация
Cake\Database\TypeInterface::toStatement() useImmutable()source public
useImmutable( )
Изменить предпочтительное имя класса на реализацию FrozenTime.
Возвращает
$this
useLocaleParser()source public
useLocaleParser( boolean $enable = true )
Устанавливает, нужно ли парсить даты, переданные в функцию marshal(), с использованием локально-ориентированного парсера.
Параметры
- boolean
$enableнеобязательно true - Включить или выключить.
Возвращает
$this
useMutable()source public
useMutable( )
Изменить предпочтительное имя класса на реализацию mutable Time.
Возвращает
$this
Методы, унаследованные от Cake\Database\Type
__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.
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 deprecated
strval( mixed $value )
Преобразователь типов для строковых значений.
Преобразует значения в строки
Устаревшее
3.1.8 Этот метод больше не используется.Параметры
- mixed
$value - Значение, которое нужно преобразовать в строку.
Возвращает
stringПодробности свойств
$_datetimeInstancesource
protected DateTime
Экземпляр настроенного класса dateTimeClass, используемый для быстрого создания новых экземпляров без вызова конструктора.
$_formatsource
protected string|array
Формат строки для разбора DateTime
[
'Y-m-d H:i:s',
'Y-m-d\TH:i:sP',
] $_localeFormatsource
protected string|array|integer
Формат даты для разбора входящих дат для маршалинга.
$_namesource
protected string|null
Идентификатор имени для этого типа.
(Это свойство объявлено здесь снова, чтобы в будущем можно было удалить наследование от Cake\Database\Type.)
$_useLocaleParsersource
protected boolean
Должны ли даты разбираться с помощью локализованного анализатора при маршалинге строковых входных данных.
false
$dateTimeClasssource
public static string
Класс, который нужно использовать для представления объектов даты
Это свойство можно использовать только до того, как будет создан экземпляр этого типа класса. После этого используйте useMutable() или useImmutable() вместо этого.
Устаревшее
3.2.0 Используйте DateTimeType::useMutable() или DateTimeType::useImmutable() вместо этого.'Cake\I18n\Time'
$setToDateStartsource
protected boolean
Определяет, нужно ли перезаписывать время преобразованных объектов Time так, чтобы оно указывало на начало дня.
Это в первую очередь для того, чтобы подклассам не пришлось повторно реализовывать ту же функциональность.
false
© 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.DateTimeType.html