Class DecimalType
Decimal type converter.
Use to convert decimal data between PHP and the database types.
Property Summary
-
$_basicTypes protected static deprecated
array
List of basic type mappings, used to avoid having to instantiate a class for doing conversion on these.
-
$_builtTypes protected static
Cake\Database\Type[]
Contains a map of type object instances to be reused if needed.
-
$_name protected
string|null
Identifier name for this type.
-
$_types protected static
string[]|Cake\Database\Type[]
List of supported database types. A human readable identifier is used as key and a complete namespaced class name as value representing the class that will do actual type conversions.
-
$_useLocaleParser protected
bool
Whether numbers should be parsed using a locale aware parser when marshalling string inputs.
-
$numberClass public static
string
The class to use for representing number objects
Method Summary
-
__construct() public
Constructor.
-
__debugInfo() public
Returns an array that can be used to describe the internal state of this object.
-
_basicTypeCast() protected deprecated
Checks whether this type is a basic one and can be converted using a callback If it is, returns converted value
-
_parseValue() protected
Converts a string into a float point after parsing it using the locale aware parser.
-
boolval() public static deprecated
Type converter for boolean values.
-
build() public static
Returns a Type object capable of converting a type identified by name.
-
buildAll() public static
Returns an arrays with all the mapped type objects, indexed by name.
-
clear() public static
Clears out all created instances and mapped types classes, useful for testing
-
getBaseType() public
Returns the base type name that this class is inheriting.
-
getName() public
Returns type identifier name for this object.
-
map() public static
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
-
marshal() public
Marshalls request data into PHP floats.
-
newId() public
Generate a new primary key value for a given type.
-
set() public static
Returns a Type object capable of converting a type identified by $name
-
strval() public static deprecated
Type converter for string values.
-
toDatabase() public
Convert integer data into the database format.
-
toPHP() public
Convert float values to PHP integers
-
toStatement() public
Get the correct PDO binding type for integer data.
-
useLocaleParser() public
Sets whether or not to parse numbers passed to the marshal() function by using a locale aware parser.
Method Detail
__construct() ¶ public
__construct(string|null $name = null)
Constructor.
(This method is declared here again so that the inheritance from Cake\Database\Type can be removed in the future.)
Parameters
-
string|null
$name optional The name identifying this type
__debugInfo() ¶ public
__debugInfo(): array
Returns an array that can be used to describe the internal state of this object.
Returns
array
_basicTypeCast() ¶ protected
_basicTypeCast(mixed $value): mixed
Checks whether this type is a basic one and can be converted using a callback If it is, returns converted value
Parameters
-
mixed
$value Value to be converted to PHP equivalent
Returns
mixed
_parseValue() ¶ protected
_parseValue(string $value): float
Converts a string into a float point after parsing it using the locale aware parser.
Parameters
-
string
$value The value to parse and convert to an float.
Returns
float
boolval() ¶ public static
boolval(mixed $value): bool
Type converter for boolean values.
Will convert string true/false into booleans.
Parameters
-
mixed
$value The value to convert to a boolean.
Returns
bool
build() ¶ public static
build(string $name): Cake\Database\Type
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(): array
Returns an arrays with all the mapped type objects, indexed by name.
Returns
array
clear() ¶ public static
clear(): void
Clears out all created instances and mapped types classes, useful for testing
Returns
void
getBaseType() ¶ public
getBaseType(): string
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
map() ¶ public static
map(string|string[]|Cake\Database\Type[]|null $type = null, string|Cake\Database\Type|null $className = null): array|string|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: The usage of $type as \Cake\Database\Type[] is deprecated. Please always use string[] if you pass an array as first argument.
Parameters
-
string|string[]|Cake\Database\Type[]|null
$type optional If string name of type to map, if array list of arrays to be mapped
-
string|Cake\Database\Type|null
$className optional The classname or object instance of it to register.
Returns
array|string|null
marshal() ¶ public
marshal(mixed $value): mixed
Marshalls request data into PHP floats.
Most useful for converting request data into PHP objects, that make sense for the rest of the ORM/Database layers.
Parameters
-
mixed
$value The value to convert.
Returns
mixed
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
See Also
set() ¶ public static
set(string $name, Cake\Database\Type $instance): void
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.
Returns
void
strval() ¶ public static
strval(mixed $value): string
Type converter for string values.
Will convert values into strings
Parameters
-
mixed
$value The value to convert to a string.
Returns
string
toDatabase() ¶ public
toDatabase(mixed $value, Cake\Database\Driver $driver): string|null
Convert integer data into the database format.
Parameters
-
mixed
$value The value to convert.
-
Cake\Database\Driver
$driver The driver instance to convert with.
Returns
string|null
Throws
InvalidArgumentException
toPHP() ¶ public
toPHP(mixed $value, Cake\Database\Driver $driver): float|null
Convert float values to PHP integers
Parameters
-
mixed
$value The value to convert.
-
Cake\Database\Driver
$driver The driver instance to convert with.
Returns
float|null
Throws
Cake\Core\Exception\Exception
toStatement() ¶ public
toStatement(mixed $value, Cake\Database\Driver $driver): int
Get the correct PDO binding type for integer data.
Parameters
-
mixed
$value The value being bound.
-
Cake\Database\Driver
$driver The driver.
Returns
int
useLocaleParser() ¶ public
useLocaleParser(bool $enable = true): $this
Sets whether or not to parse numbers passed to the marshal() function by using a locale aware parser.
Parameters
-
bool
$enable optional Whether or not to enable
Returns
$this
Property Detail
$_basicTypes ¶ protected static deprecated
List of basic type mappings, used to avoid having to instantiate a class for doing conversion on these.
Type
array
$_builtTypes ¶ protected static
Contains a map of type object instances to be reused if needed.
Type
Cake\Database\Type[]
$_name ¶ protected
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.)
Type
string|null
$_types ¶ protected static
List of supported database types. A human readable identifier is used as key and a complete namespaced class name as value representing the class that will do actual type conversions.
Type
string[]|Cake\Database\Type[]
$_useLocaleParser ¶ protected
Whether numbers should be parsed using a locale aware parser when marshalling string inputs.
Type
bool