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
Properties summary
-
$_name
protectedIdentifier name for this type.string|null
-
$_useLocaleParser
protectedboolean
Whether numbers should be parsed using a locale aware parser when marshalling string inputs.
- The class to use for representing number objects
string
Inherited Properties
Method Summary
- __construct() publicConstructor.
- _parseValue() protected
Converts a string into a float point after parsing it using the locale aware parser.
- marshal() publicMarshalls request data into PHP floats.
- toDatabase() publicConvert integer data into the database format.
- toPHP() publicConvert float values to PHP integers
- toStatement() publicGet 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()source 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
Cake\Database\Type::__construct()
_parseValue()source 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
floatmarshal()source public
marshal( mixed $value )
Marshalls request data into PHP floats.
Parameters
- mixed
$value
- The value to convert.
Returns
mixedConverted value.
Overrides
Cake\Database\Type::marshal()
Implementation of
Cake\Database\TypeInterface::marshal()
toDatabase()source 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
string|nullThrows
InvalidArgumentExceptionOverrides
Cake\Database\Type::toDatabase()
Implementation of
Cake\Database\TypeInterface::toDatabase()
toPHP()source public
toPHP( null|string|resource $value , Cake\Database\Driver $driver )
Convert float values to PHP integers
Parameters
- null|string|resource
$value
- The value to convert.
-
Cake\Database\Driver
$driver
- The driver instance to convert with.
Returns
float|nullThrows
Cake\Core\Exception\Exception
Overrides
Cake\Database\Type::toPHP()
Implementation of
Cake\Database\TypeInterface::toPHP()
toStatement()source 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
integerOverrides
Cake\Database\Type::toStatement()
Implementation of
Cake\Database\TypeInterface::toStatement()
useLocaleParser()source 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()source public
__debugInfo( )
Returns an array that can be used to describe the internal state of this object.
Returns
array_basicTypeCast()source 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
3.1 All types should now be a specific classParameters
- mixed
$value
- Value to be converted to PHP equivalent
Returns
mixedboolval()source public static
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
booleanbuild()source 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
InvalidArgumentExceptionIf type identifier is unknown
buildAll()source public static
buildAll( )
Returns an arrays with all the mapped type objects, indexed by name.
Returns
arrayclear()source public static
clear( )
Clears out all created instances and mapped types classes, useful for testing
getBaseType()source public
getBaseType( )
Returns the base type name that this class is inheriting.
Returns
stringThe base type name that this class is inheriting.
Implementation of
Cake\Database\TypeInterface::getBaseType()
getName()source public
getName( )
Returns type identifier name for this object.
Returns
stringThe type identifier name for this object.
Implementation of
Cake\Database\TypeInterface::getName()
map()source 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: 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 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|nullIf $type is null then array with current map, if $className is null string configured class name for give $type, null otherwise
newId()source public
newId( )
Generate a new primary key value for a given type.
Returns
mixedA new primary key value.
Implementation of
Cake\Database\TypeInterface::newId()
set()source 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.
strval()source public static
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
stringProperties detail
$_namesource
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.)
$_useLocaleParsersource
protected boolean
Whether numbers should be parsed using a locale aware parser when marshalling string inputs.
false
$numberClasssource
public static string
The class to use for representing number objects
'Cake\I18n\Number'
© 2005–2018 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.5/class-Cake.Database.Type.DecimalType.html