DecimalType 类
十进制类型转换器。
用于在 PHP 和数据库类型之间转换十进制数据。
命名空间: Cake\Database\Type
属性摘要
-
$_name protected
string|null
此类型的标识符名称
-
$_useLocaleParser protected
bool
在编组字符串输入时,是否应该使用区域感知解析器解析数字。
-
$numberClass public static
string
用于表示数字对象的类
方法摘要
-
__construct() public
构造函数
-
_parseValue() protected
在使用区域感知解析器解析后,将本地化字符串转换为十进制字符串。
-
getBaseType() public
返回此类继承的基类型名称。
-
getName() public
返回此对象的类型标识符名称。
-
manyToPHP() public
返回转换为此类型的 PHP 表示形式的值数组。
-
marshal() public
将请求数据编组为十进制字符串。
-
newId() public
为给定类型生成新的主键值。
-
toDatabase() public
将十进制字符串转换为数据库格式。
-
toPHP() public
将给定值从数据库类型强制转换为 PHP 等效值。
-
toStatement() public
获取要在 PDO 语句中使用的绑定类型。
-
useLocaleParser() public
设置是否使用区域感知解析器解析传递给 marshal() 函数的数字。
方法详情
__construct() ¶ public
__construct(string|null $name = null)
构造函数
参数
-
string|null
$name optional 标识此类型的名称
_parseValue() ¶ protected
_parseValue(string $value): string
在使用区域感知解析器解析后,将本地化字符串转换为十进制字符串。
参数
-
string
$value 要解析并转换为浮点数的值。
返回值
string
getBaseType() ¶ public
getBaseType(): string|null
返回此类继承的基类型名称。
这在扩展基类型以添加额外功能时很有用,但仍然希望框架的其余部分使用与继承的基类型相同的假设。
返回值
string|null
manyToPHP() ¶ public
manyToPHP(array $values, list<string> $fields, Cake\Database\Driver $driver): array<string, mixed>
返回转换为此类型的 PHP 表示形式的值数组。
参数
-
array
$values -
list<string>
$fields -
Cake\Database\Driver
$driver
返回值
array<string, mixed>
marshal() ¶ public
marshal(mixed $value): string|null
将请求数据编组为十进制字符串。
最适合将请求数据转换为 PHP 对象,这对 ORM/数据库层的其余部分有意义。
参数
-
mixed
$value 要转换的值。
返回值
string|null
toDatabase() ¶ public
toDatabase(mixed $value, Cake\Database\Driver $driver): string|float|int|null
将十进制字符串转换为数据库格式。
参数
-
mixed
$value 要转换的值。
-
Cake\Database\Driver
$driver 要转换的驱动程序实例。
返回值
string|float|int|null
抛出
InvalidArgumentException
toPHP() ¶ public
toPHP(mixed $value, Cake\Database\Driver $driver): string|null
将给定值从数据库类型强制转换为 PHP 等效值。
参数
-
mixed
$value 要转换的值。
-
Cake\Database\Driver
$driver 要转换的驱动程序实例。
返回值
string|null
toStatement() ¶ public
toStatement(mixed $value, Cake\Database\Driver $driver): int
获取要在 PDO 语句中使用的绑定类型。
参数
-
mixed
$value -
Cake\Database\Driver
$driver
返回值
int
useLocaleParser() ¶ public
useLocaleParser(bool $enable = true): $this
设置是否使用区域感知解析器解析传递给 marshal() 函数的数字。
参数
-
bool
$enable optional 是否启用
返回值
$this
抛出
Cake\Database\Exception\DatabaseException