Class TimeType
Time type converter.
Use to convert time instances to strings & back.
Property Summary
-
$_className protected
class-stringCake\Chronos\ChronosTime>
The classname to use when creating objects.
-
$_format protected
string
The PHP Time format used when converting to string.
-
$_localeMarshalFormat protected
string|int|null
The locale-aware format
marshal()
uses when_useLocaleParser
is true. -
$_name protected
string|null
Identifier name for this type
-
$_useLocaleMarshal protected
bool
Whether
marshal()
should use locale-aware parser with_localeMarshalFormat
.
Method Summary
-
__construct() public
Constructor
-
_parseLocalTimeValue() protected
Converts a string into a Time object after parsing it using the locale aware parser with the format set by
setLocaleFormat()
. -
_parseTimeValue() protected
Converts a string into a Time object
-
getBaseType() public
Returns the base type name that this class is inheriting.
-
getName() public
Returns type identifier name for this object.
-
getTimeClassName() 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.
-
newId() public
Generate a new primary key value for a given type.
-
setLocaleFormat() public
Sets the locale-aware format used by
marshal()
when parsing strings. -
toDatabase() public
Convert time data into the database time format.
-
toPHP() public
Convert time values to PHP time instances
-
toStatement() public
Get the binding type to use in a PDO statement.
-
useLocaleParser() public
Sets whether to parse strings passed to
marshal()
using the locale-aware format set bysetLocaleFormat()
.
Method Detail
__construct() ¶ public
__construct(string|null $name = null, class-stringCake\Chronos\ChronosTime>|null $className = null)
Constructor
Parameters
-
string|null
$name optional The name identifying this type.
-
class-stringCake\Chronos\ChronosTime>|null
$className optional Class name for time representation.
_parseLocalTimeValue() ¶ protected
_parseLocalTimeValue(string $value): Cake\Chronos\ChronosTime|null
Converts a string into a Time object after parsing it using the locale
aware parser with the format set by setLocaleFormat()
.
Parameters
-
string
$value The value to parse and convert to an object.
Returns
Cake\Chronos\ChronosTime|null
_parseTimeValue() ¶ protected
_parseTimeValue(string $value): Cake\Chronos\ChronosTime|null
Converts a string into a Time object
Parameters
-
string
$value The value to parse and convert to an object.
Returns
Cake\Chronos\ChronosTime|null
getBaseType() ¶ public
getBaseType(): string|null
Returns the base type name that this class is inheriting.
This is useful when extending base type for adding extra functionality, but still want the rest of the framework to use the same assumptions it would do about the base type it inherits from.
Returns
string|null
getName() ¶ public
getName(): string|null
Returns type identifier name for this object.
Returns
string|null
getTimeClassName() ¶ public
getTimeClassName(): class-stringCake\Chronos\ChronosTime>
Get the classname used for building objects.
Returns
class-stringCake\Chronos\ChronosTime>
manyToPHP() ¶ public
manyToPHP(array $values, list<string> $fields, Cake\Database\Driver $driver): array<string, mixed>
Returns an array of the values converted to the PHP representation of this type.
Parameters
-
array
$values -
list<string>
$fields -
Cake\Database\Driver
$driver
Returns
array<string, mixed>
marshal() ¶ public
marshal(mixed $value): Cake\Chronos\ChronosTime|null
Convert request data into a datetime object.
Most useful for converting request data into PHP objects, that make sense for the rest of the ORM/Database layers.
Parameters
-
mixed
$value Request data
Returns
Cake\Chronos\ChronosTime|null
newId() ¶ public
newId(): mixed
Generate a new primary key value for a given type.
This method can be used by types to create new primary key values when entities are inserted.
Returns
mixed
setLocaleFormat() ¶ public
setLocaleFormat(string|int|null $format): $this
Sets the locale-aware format used by marshal()
when parsing strings.
See Cake\I18n\Time::parseTime()
for accepted formats.
Parameters
-
string|int|null
$format The locale-aware format
Returns
$this
See Also
toDatabase() ¶ public
toDatabase(mixed $value, Cake\Database\Driver $driver): mixed
Convert time data into the database time format.
Parameters
-
mixed
$value The value to convert.
-
Cake\Database\Driver
$driver The driver instance to convert with.
Returns
mixed
toPHP() ¶ public
toPHP(mixed $value, Cake\Database\Driver $driver): Cake\Chronos\ChronosTime|null
Convert time values to PHP time instances
Parameters
-
mixed
$value The value to convert.
-
Cake\Database\Driver
$driver The driver instance to convert with.
Returns
Cake\Chronos\ChronosTime|null
toStatement() ¶ public
toStatement(mixed $value, Cake\Database\Driver $driver): int
Get the binding type to use in a PDO statement.
Parameters
-
mixed
$value -
Cake\Database\Driver
$driver
Returns
int
useLocaleParser() ¶ public
useLocaleParser(bool $enable = true): $this
Sets whether to parse strings passed to marshal()
using
the locale-aware format set by setLocaleFormat()
.
Parameters
-
bool
$enable optional Whether to enable
Returns
$this
Property Detail
$_className ¶ protected
The classname to use when creating objects.
Type
class-stringCake\Chronos\ChronosTime>
$_localeMarshalFormat ¶ protected
The locale-aware format marshal()
uses when _useLocaleParser
is true.
See Cake\I18n\Time::parseTime()
for accepted formats.
Type
string|int|null
$_useLocaleMarshal ¶ protected
Whether marshal()
should use locale-aware parser with _localeMarshalFormat
.
Type
bool