Class DecimalType

Decimal type converter.

Use to convert decimal data between PHP and the database types.

Cake\Database\Type implements Cake\Database\TypeInterface
Extended by Cake\Database\Type\DecimalType implements Cake\Database\TypeInterface

Properties summary

  • $_name protected
    string|null
    Identifier name for this type.
  • $_useLocaleParser protected
    boolean

    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

Inherited Properties

Method Summary

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

    Converts a string into a float point after parsing it using the locale aware parser.

  • marshal() public
    Marshalls request data into PHP floats.
  • 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.
  • 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

float

marshal()source public

marshal( mixed $value )

Marshalls request data into PHP floats.

Parameters

mixed $value
The value to convert.

Returns

mixed
Converted 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|null

Throws

InvalidArgumentException

Overrides

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|null

Throws

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

integer

Overrides

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

_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 class

Parameters

mixed $value
value to be converted to PHP equivalent

Returns

mixed

boolval()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

boolean

build()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

InvalidArgumentException
If type identifier is unknown

buildAll()source public static

buildAll( )

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

Returns

array

clear()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

string
The 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

string
The type identifier name for this object.

Implementation of

Cake\Database\TypeInterface::getName()

map()source public static

map( string|array|Cake\Database\Type|null $type null , string|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

Parameters

string|array|Cake\Database\Type|null $type optional null
if string name of type to map, if array list of arrays to be mapped
string|null $className optional null
The classname 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()source 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()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

string

Properties 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–2017 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.4/class-Cake.Database.Type.DecimalType.html