Class DecimalType
Decimal type converter.
Use to convert decimal data between PHP and the database types.
- Cake\Database\Type implements Cake\Database\TypeInterface
- Cake\Database\Type\DecimalType implements Cake\Database\TypeInterface, Cake\Database\Type\BatchCastingInterface
Properties summary
-
$_name
protectedstring|null
Identifier name for this type. -
$_useLocaleParser
protectedboolean
Whether numbers should be parsed using a locale aware parser when marshalling string inputs.
-
$numberClass
public staticstring
The class to use for representing number objects
Inherited Properties
Method Summary
-
__construct() public
Constructor. -
_parseValue() protected
Converts a string into a float point after parsing it using the locale aware parser.
-
manyToPHP() public
Returns an array of the values converted to the PHP representation of this type.
-
marshal() public
Marshalls request data into PHP floats. -
toDatabase() public
Convert integer data into the database format. -
toPHP() public
Convert float values to PHP floats -
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 null
- The name identifying this type
Overrides
_parseValue() protected ¶
_parseValue( string $value )
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
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
Implementation of
marshal() public ¶
marshal( mixed $value )
Marshalls request data into PHP floats.
Parameters
- mixed $value
- The value to convert.
Returns
Converted value.
Overrides
Implementation of
toDatabase() public ¶
toDatabase( string|integer|float $value , Cake\Database\Driver
$driver )
Convert integer data into the database format.
Parameters
- string|integer|float $value
- The value to convert.
-
Cake\Database\Driver
$driver - The driver instance to convert with.
Returns
Throws
Overrides
Implementation of
toPHP() public ¶
toPHP( null|string|resource $value , Cake\Database\Driver
$driver )
Convert float values to PHP floats
Parameters
- null|string|resource $value
- The value to convert.
-
Cake\Database\Driver
$driver - The driver instance to convert with.
Returns
Throws
Overrides
Implementation of
toStatement() public ¶
toStatement( mixed $value , Cake\Database\Driver
$driver )
Get the correct PDO binding type for integer data.
Parameters
- mixed $value
- The value being bound.
-
Cake\Database\Driver
$driver - The driver.
Returns
Overrides
Implementation of
useLocaleParser() public ¶
useLocaleParser( boolean $enable true )
Sets whether or not to parse numbers passed to the marshal() function by using a locale aware parser.
Parameters
- boolean $enable optional true
- Whether or not to enable
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
_basicTypeCast() protected ¶
_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
Parameters
- mixed $value
- Value to be converted to PHP equivalent
Returns
boolval() public static ¶
boolval( mixed $value )
Type converter for boolean values.
Will convert string true/false into booleans.
Deprecated
Parameters
- mixed $value
- The value to convert to a boolean.
Returns
build() public static ¶
build( string $name )
Returns a Type object capable of converting a type identified by name.
Parameters
- string $name
- type identifier
Returns
Throws
If type identifier is unknown
buildAll() public static ¶
buildAll( )
Returns an arrays with all the mapped type objects, indexed by name.
Returns
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
The base type name that this class is inheriting.
Implementation of
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
Cake\Database\TypeInterface
|nullConfigured class name or instance for give $type or map array.
Since
getName() public ¶
getName( )
Returns type identifier name for this object.
Returns
The type identifier name for this object.
Implementation of
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
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
A new primary key value.
Implementation of
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.
Properties detail
$_name ¶
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 ¶
Whether numbers should be parsed using a locale aware parser when marshalling string inputs.
false
$numberClass ¶
The class to use for representing number objects
'Cake\I18n\Number'