Class DecimalType

Decimal type converter.

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

Namespace: Cake\Database\Type

Properties summary

  • $_name protected
    string|null

    Identifier name for this type

  • $_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

  • _parseValue() protected

    Converts localized string into a decimal string after parsing it using the locale aware parser.

  • getBaseType() public

    Returns the base type name that this class is inheriting.

  • getName() public

    Returns type identifier name for this object.

  • manyToPHP() public

    Returns an array of the values converted to the PHP representation of this type.

  • marshal() public

    Marshalls request data into decimal strings.

  • newId() public

    Generate a new primary key value for a given type.

  • toDatabase() public

    Convert decimal strings into the database format.

  • toPHP() public

    Casts given value from a database type to a PHP equivalent.

  • toStatement() public

    Get the correct PDO binding type for decimal 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 $name)

Constructor

Parameters

string|null $name optional

The name identifying this type

_parseValue() protected

_parseValue(string $value)

Converts localized string into a decimal string after parsing it using the locale aware parser.

Parameters

string $value

The value to parse and convert to an float.

Returns

string

getBaseType() public

getBaseType()

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

The base type name that this class is inheriting.

getName() public

getName()

Returns type identifier name for this object.

Returns

string|null

The type identifier name for this object.

manyToPHP() public

manyToPHP(array $values, array $fields, \Cake\Database\DriverInterface $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

string[] $fields

The field keys to cast

\Cake\Database\DriverInterface $driver

Object from which database preferences and configuration will be extracted.

Returns

array

marshal() public

marshal(mixed $value)

Marshalls request data into decimal strings.

Parameters

mixed $value

The value to convert.

Returns

string|null

Converted value.

newId() public

newId()

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

A new primary key value.

See Also

\Cake\Database\Type\UuidType

toDatabase() public

toDatabase(mixed $value, \Cake\Database\DriverInterface $driver)

Convert decimal strings into the database format.

Parameters

mixed $value

The value to convert.

\Cake\Database\DriverInterface $driver

The driver instance to convert with.

Returns

string|float|int|null

Throws

InvalidArgumentException

toPHP() public

toPHP(mixed $value, \Cake\Database\DriverInterface $driver)

Casts given value from a database type to a PHP equivalent.

Parameters

mixed $value

The value to convert.

\Cake\Database\DriverInterface $driver

The driver instance to convert with.

Returns

string|null

toStatement() public

toStatement(mixed $value, \Cake\Database\DriverInterface $driver)

Get the correct PDO binding type for decimal data.

Parameters

mixed $value

The value being bound.

\Cake\Database\DriverInterface $driver

The driver.

Returns

int

useLocaleParser() public

useLocaleParser(bool $enable)

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

Throws

RuntimeException

Property Detail

$_name protected

Identifier name for this type

Type

string|null

$_useLocaleParser protected

Whether numbers should be parsed using a locale aware parser when marshalling string inputs.

Type

bool

$numberClass public static

The class to use for representing number objects

Type

string

© 2005–present 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/4.1/class-Cake.Database.Type.DecimalType.html