Класс 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Формат строки для парсинга DateTime.string|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 перед генерацией строки даты и времени для сохранения в базе данных. Если 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 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() 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
Параметры
- строка
$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.7/class-Cake.Database.Type.DateTimeType.html