CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • BinaryType
  • BinaryUuidType
  • BoolType
  • DateTimeType
  • DateType
  • DecimalType
  • FloatType
  • IntegerType
  • JsonType
  • StringType
  • TimeType
  • UuidType

Interfaces

  • BatchCastingInterface
  • ExpressionTypeInterface
  • OptionalConvertInterface

Traits

  • ExpressionTypeCasterTrait

Class DateTimeType

Datetime type converter.

Use to convert datetime instances to strings & back.

Cake\Database\Type implements Cake\Database\TypeInterface
Extended by Cake\Database\Type\DateTimeType implements Cake\Database\TypeInterface, Cake\Database\Type\BatchCastingInterface
Direct Subclasses
  • Cake\Database\Type\DateType
  • Cake\Database\Type\TimeType
Namespace: Cake\Database\Type
Location: Database/Type/DateTimeType.php

Properties summary

  • $_className protected
    string
    The classname to use when creating objects.
  • $_datetimeInstance protected
    DateTime

    An instance of the configured dateTimeClass, used to quickly generate new instances without calling the constructor.

  • $_format protected
    string|array
    String format to use for DateTime parsing
  • $_localeFormat protected
    string|array|integer
    The date format to use for parsing incoming dates for marshalling.
  • $_name protected
    string|null
    Identifier name for this type.
  • $_useLocaleParser protected
    boolean

    Whether dates should be parsed using a locale aware parser when marshalling string inputs.

  • $dateTimeClass public static
    string
    The class to use for representing date objects
  • $dbTimezone protected
    DateTimeZone|null
    Timezone instance.
  • $setToDateStart protected
    boolean

    Whether or not we want to override the time of the converted Time objects so it points to the start of the day.

Inherited Properties

  • _basicTypes, _builtTypes, _types

Method Summary

  • __construct() public
    Constructor
  • _compare() protected
  • _parseValue() protected

    Converts a string into a DateTime object after parsing it using the locale aware parser with the specified format.

  • _setClassName() protected
    Set the classname to use when building objects.
  • getDateTimeClassName() public
    Get the classname used for building objects.
  • manyToPHP() public

    Returns an array of the values converted to the PHP representation of this type.

  • marshal() public
    Convert request data into a datetime object.
  • setLocaleFormat() public

    Sets the format string to use for parsing dates in this class. The formats that are accepted are documented in the Cake\I18n\Time::parseDateTime() function.

  • setTimezone() public
    Set database timezone.
  • toDatabase() public
    Convert DateTime instance into strings.
  • toPHP() public
    Convert strings into DateTime instances.
  • toStatement() public
    Casts given value to Statement equivalent
  • useImmutable() public
    Change the preferred class name to the FrozenTime implementation.
  • useLocaleParser() public

    Sets whether or not to parse dates passed to the marshal() function by using a locale aware parser.

  • useMutable() public
    Change the preferred class name to the mutable Time implementation.

Method Detail

__construct() public ¶

__construct( string|null $name = null )

Constructor

Parameters
string|null $name optional null
The name identifying this type
Overrides
Cake\Database\Type::__construct()

_compare() protected ¶

_compare( Cake\I18n\Time|DateTime $date , mixed $value )

Parameters
Cake\I18n\Time|DateTime $date
DateTime object
mixed $value
Request data
Returns
boolean

_parseValue() protected ¶

_parseValue( string $value )

Converts a string into a DateTime object after parsing it using the locale aware parser with the specified format.

Parameters
string $value
The value to parse and convert to an object.
Returns
Cake\I18n\Time|null

_setClassName() protected ¶

_setClassName( string $class , string $fallback )

Set the classname to use when building objects.

Parameters
string $class
The classname to use.
string $fallback
The classname to use when the preferred class does not exist.

getDateTimeClassName() public ¶

getDateTimeClassName( )

Get the classname used for building objects.

Returns
string

manyToPHP() public ¶

manyToPHP( array $values , array $fields , Cake\Database\Driver $driver )

Returns an array of the values converted to the PHP representation of this type.

Parameters
array $values
The original array of values containing the fields to be casted
array $fields
The field keys to cast
Cake\Database\Driver $driver
Object from which database preferences and configuration will be extracted.
Returns
array
Implementation of
Cake\Database\Type\BatchCastingInterface::manyToPHP()

marshal() public ¶

marshal( mixed $value )

Convert request data into a datetime object.

Parameters
mixed $value
Request data
Returns
DateTimeInterface|null
Overrides
Cake\Database\Type::marshal()
Implementation of
Cake\Database\TypeInterface::marshal()

setLocaleFormat() public ¶

setLocaleFormat( string|array $format )

Sets the format string to use for parsing dates in this class. The formats that are accepted are documented in the Cake\I18n\Time::parseDateTime() function.

Parameters
string|array $format
The format in which the string are passed.
Returns

$this
See
\Cake\I18n\Time::parseDateTime()

setTimezone() public ¶

setTimezone( string|DateTimeZone|null $timezone )

Set database timezone.

Specified timezone will be set for DateTime objects before generating datetime string for saving to database. If null no timezone conversion will be done.

Parameters
string|DateTimeZone|null $timezone
Database timezone.
Returns

$this

toDatabase() public ¶

toDatabase( string|integer|DateTime|DateTimeImmutable $value , Cake\Database\Driver $driver )

Convert DateTime instance into strings.

Parameters
string|integer|DateTime|DateTimeImmutable $value
The value to convert.
Cake\Database\Driver $driver
The driver instance to convert with.
Returns
string|null
Overrides
Cake\Database\Type::toDatabase()
Implementation of
Cake\Database\TypeInterface::toDatabase()

toPHP() public ¶

toPHP( string $value , Cake\Database\Driver $driver )

Convert strings into DateTime instances.

Parameters
string $value
The value to convert.
Cake\Database\Driver $driver
The driver instance to convert with.
Returns
Cake\I18n\Time|DateTime|null
Overrides
Cake\Database\Type::toPHP()
Implementation of
Cake\Database\TypeInterface::toPHP()

toStatement() public ¶

toStatement( mixed $value , Cake\Database\Driver $driver )

Casts given value to Statement equivalent

Parameters
mixed $value
value to be converted to PDO statement
Cake\Database\Driver $driver
object from which database preferences and configuration will be extracted
Returns
mixed
Overrides
Cake\Database\Type::toStatement()
Implementation of
Cake\Database\TypeInterface::toStatement()

useImmutable() public ¶

useImmutable( )

Change the preferred class name to the FrozenTime implementation.

Returns

$this

useLocaleParser() public ¶

useLocaleParser( boolean $enable = true )

Sets whether or not to parse dates passed to the marshal() function by using a locale aware parser.

Parameters
boolean $enable optional true
Whether or not to enable
Returns

$this

useMutable() public ¶

useMutable( )

Change the preferred class name to the mutable Time implementation.

Returns

$this

Methods inherited from Cake\Database\Type

__debugInfo() public ¶

__debugInfo( )

Returns an array that can be used to describe the internal state of this object.

Returns
array

_basicTypeCast() protected deprecated ¶

_basicTypeCast( mixed $value )

Checks whether this type is a basic one and can be converted using a callback If it is, returns converted value

Deprecated
3.1 All types should now be a specific class
Parameters
mixed $value
Value to be converted to PHP equivalent
Returns
mixed

boolval() public static deprecated ¶

boolval( mixed $value )

Type converter for boolean values.

Will convert string true/false into booleans.

Deprecated
3.1.8 This method is now unused.
Parameters
mixed $value
The value to convert to a boolean.
Returns
boolean

build() public static ¶

build( string $name )

Returns a Type object capable of converting a type identified by name.

Parameters
string $name
type identifier
Returns
Cake\Database\Type
Throws
InvalidArgumentException
If type identifier is unknown

buildAll() public static ¶

buildAll( )

Returns an arrays with all the mapped type objects, indexed by name.

Returns
array

clear() public static ¶

clear( )

Clears out all created instances and mapped types classes, useful for testing

getBaseType() public ¶

getBaseType( )

Returns the base type name that this class is inheriting.

Returns
string
The base type name that this class is inheriting.
Implementation of
Cake\Database\TypeInterface::getBaseType()

getMap() public static ¶

getMap( string|null $type = null )

Get mapped class name or instance for type(s).

Parameters
string|null $type optional null
Type name to get mapped class for or null to get map array.
Returns
array|string|Cake\Database\TypeInterface|null
Configured class name or instance for give $type or map array.
Since
3.6.2

getName() public ¶

getName( )

Returns type identifier name for this object.

Returns
string
The type identifier name for this object.
Implementation of
Cake\Database\TypeInterface::getName()

map() public static ¶

map( string|string[]|Cake\Database\Type[]|null $type = null , string|Cake\Database\Type|null $className = null )

Registers a new type identifier and maps it to a fully namespaced classname, If called with no arguments it will return current types map array If $className is omitted it will return mapped class for $type

Deprecated 3.6.2: - The usage of $type as string[]|\Cake\Database\Type[] is deprecated. Use Type::setMap() with string[] instead. - Passing $className as \Cake\Database\Type instance is deprecated, use class name string only. - Using this method as getter is deprecated. Use Type::getMap() instead.

Parameters
string|string[]|Cake\Database\Type[]|null $type optional null
If string name of type to map, if array list of arrays to be mapped
string|Cake\Database\Type|null $className optional null
The classname or object instance of it to register.
Returns
array|string|null

If $type is null then array with current map, if $className is null string configured class name for give $type, null otherwise


newId() public ¶

newId( )

Generate a new primary key value for a given type.

Returns
mixed
A new primary key value.
Implementation of
Cake\Database\TypeInterface::newId()

set() public static ¶

set( string $name , Cake\Database\Type $instance )

Returns a Type object capable of converting a type identified by $name

Parameters
string $name
The type identifier you want to set.
Cake\Database\Type $instance
The type instance you want to set.

setMap() public static ¶

setMap( array $map )

Set type to classname mapping.

Parameters
array $map
List of types to be mapped.
Since
3.6.2

strval() public static deprecated ¶

strval( mixed $value )

Type converter for string values.

Will convert values into strings

Deprecated
3.1.8 This method is now unused.
Parameters
mixed $value
The value to convert to a string.
Returns
string

Properties detail

$_className ¶

protected string

The classname to use when creating objects.

$_datetimeInstance ¶

protected DateTime

An instance of the configured dateTimeClass, used to quickly generate new instances without calling the constructor.

$_format ¶

protected string|array

String format to use for DateTime parsing

[
    'Y-m-d H:i:s',
    'Y-m-d\TH:i:sP',
]

$_localeFormat ¶

protected string|array|integer

The date format to use for parsing incoming dates for marshalling.

$_name ¶

protected string|null

Identifier name for this type.

(This property is declared here again so that the inheritance from Cake\Database\Type can be removed in the future.)

$_useLocaleParser ¶

protected boolean

Whether dates should be parsed using a locale aware parser when marshalling string inputs.

false

$dateTimeClass ¶

public static string

The class to use for representing date objects

This property can only be used before an instance of this type class is constructed. After that use useMutable() or useImmutable() instead.

Deprecated
3.2.0 Use DateTimeType::useMutable() or DateTimeType::useImmutable() instead.
'Cake\I18n\Time'

$dbTimezone ¶

protected DateTimeZone|null

Timezone instance.

$setToDateStart ¶

protected boolean

Whether or not we want to override the time of the converted Time objects so it points to the start of the day.

This is primarily to avoid subclasses needing to re-implement the same functionality.

false
Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs