Класс 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 )
Конструктор
Параметры
- строка|null
$nameнеобязательно null - Имя, идентифицирующее этот тип
Переопределяет
Cake\Database\Type::__construct() _compare()source protected
_compare( Cake\I18n\Time|DateTime $date , mixed $value )
Параметры
-
Cake\I18n\Time|DateTime$date - Объект DateTime
- смешанный
$value - Данные запроса
Возвращает
boolean_parseValue()source protected
_parseValue( string $value )
Преобразует строку в объект DateTime после парсинга с помощью локализованного парсера с указанным форматом.
Параметры
- строка
$value - Значение для парсинга и преобразования в объект.
Возвращает
Cake\I18n\Time|null_setClassName()source protected
_setClassName( string $class , string $fallback )
Устанавливает имя класса для построения объектов.
Параметры
- строка
$class - Имя класса для использования.
- строка
$fallback - Имя класса для использования, если предпочтительный класс не существует.
getDateTimeClassName()source public
getDateTimeClassName( )
Получить имя класса, используемого для построения объектов.
Возвращает
строкаmanyToPHP()source public
manyToPHP( array $values , array $fields , Cake\Database\Driver $driver )
Возвращает массив значений, преобразованных в представление PHP этого типа.
Параметры
- массив
$values - Исходный массив значений, содержащих поля для преобразования
- массив
$fields - Ключи полей для преобразования
-
Cake\Database\Driver$driver - Объект, из которого будут извлечены предпочтения и конфигурация базы данных.
Возвращает
массивРеализация
Cake\Database\Type\BatchCastingInterface::manyToPHP() marshal()source public
marshal( mixed $value )
Преобразовать данные запроса в объект DateTime.
Параметры
- смешанный
$value - Данные запроса
Возвращает
DateTimeInterface|nullПереопределяет
Cake\Database\Type::marshal() Реализация
Cake\Database\TypeInterface::marshal() setLocaleFormat()source public
setLocaleFormat( string|array $format )
Устанавливает строку формата для парсинга дат в этом классе. Форматы, которые принимаются, документированы в функции Cake\I18n\Time::parseDateTime().
Параметры
- строка|массив
$format - Формат, в котором передаются строки.
Возвращает
$this
См. также
\Cake\I18n\Time::parseDateTime()setTimezone()source public
setTimezone( string|DateTimeZone|null $timezone )
Установить часовой пояс базы данных.
Указанный часовой пояс будет установлен для объектов 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
-
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( )
Изменить предпочтительное имя класса на реализацию изменчивого Time.
Возвращает
$this
Наследованные методы из Cake\Database\Type
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array_basicTypeCast()source protected устарело
_basicTypeCast( mixed $value )
Проверяет, является ли данный тип базовым, и можно ли преобразовать его с помощью обратного вызова. Если это так, возвращает преобразованное значение.
Устарело
3.1 Все типы должны теперь быть конкретным классомПараметры
- mixed
$value - Значение, которое должно быть преобразовано в PHP-эквивалент
Возвращает
mixedboolval()source public статический устарело
boolval( mixed $value )
Преобразователь типа для булевых значений.
Преобразует строки true/false в булевы значения.
Устарело
3.1.8 Этот метод больше не используется.Параметры
- mixed
$value - Значение, которое должно быть преобразовано в булево.
Возвращает
booleanbuild()source public статический
build( string $name )
Возвращает объект Type, способный преобразовывать тип, идентифицированный по имени.
Параметры
- string
$name - идентификатор типа
Возвращает
Cake\Database\TypeВыбрасывает
InvalidArgumentExceptionЕсли идентификатор типа неизвестен
buildAll()source public статический
buildAll( )
Возвращает массив со всеми сопоставленными объектами типа, индексированными по имени.
Возвращает
arrayclear()source public статический
clear( )
Очищает все созданные экземпляры и сопоставленные классы типов, полезно для тестирования
getBaseType()source public
getBaseType( )
Возвращает имя базового типа, от которого унаследован данный класс.
Возвращает
stringИмя базового типа, от которого унаследован данный класс.
Реализация
Cake\Database\TypeInterface::getBaseType() getMap()source public статический
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 статический
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 instance устарело, используйте только строку имени класса. - Использование этого метода как геттера устарело. Используйте 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
Параметры
- строка
$name - Идентификатор типа, который вы хотите установить.
-
Cake\Database\Type$instance - Экземпляр типа, который вы хотите установить.
setMap()source public static
setMap( array $map )
Установка отображения типа на имя класса.
Параметры
- массив
$map - Список типов для сопоставления.
С версии
3.6.2strval()source public static deprecated
strval( mixed $value )
Преобразователь типов для строковых значений.
Преобразует значения в строки
Устарело
3.1.8 Этот метод больше не используется.Параметры
- смешанный
$value - Значение, которое нужно преобразовать в строку.
Возвращает
строкаПодробное описание свойств
$_datetimeInstancesource
protected DateTime
Экземпляр настроенного dateTimeClass, используемый для быстрого создания новых экземпляров без вызова конструктора.
$_formatsource
protected строка|массив
Формат строки для использования при парсинге DateTime
[
'Y-m-d H:i:s',
'Y-m-d\TH:i:sP',
] $_localeFormatsource
protected строка|массив|целое число
Формат даты для парсинга входящих дат для маршалинга.
$_namesource
protected строка|null
Идентификатор имени для этого типа.
(Это свойство объявлено здесь снова, чтобы в будущем можно было удалить наследование от Cake\Database\Type.)
$_useLocaleParsersource
protected логическое значение
Использовать ли локально-зависимый парсер для парсинга дат при маршалинге строковых входных данных.
false
$dateTimeClasssource
public static строка
Класс для представления объектов даты
Это свойство можно использовать только до создания экземпляра этого класса типа. После этого используйте useMutable() или useImmutable() вместо него.
Устарело
3.2.0 Используйте DateTimeType::useMutable() или DateTimeType::useImmutable() вместо этого.'Cake\I18n\Time'
$setToDateStartsource
protected логическое значение
Устанавливать ли время преобразованных объектов 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.8/class-Cake.Database.Type.DateTimeType.html