prgtw/big-number-serializer-bundle
最新稳定版本:1.1.0
Composer 安装命令:
composer require prgtw/big-number-serializer-bundle
包简介
Bundle for serializing BigNumber classes to/from string representation using JmsSerializer
README 文档
README
Bundle for serializing BigNumber classes to/from string representation using JmsSerializer.
Installation
-
Require the
prgtw/big-number-serializer-bundlepackage in yourcomposer.jsonand update your dependencies.composer require prgtw/big-number-serializer-bundle
-
Add the
BigNumberSerializerBundleto your application's kernel:public function registerBundles() { $bundles = [ // ... new prgTW\BigNumberSerializerBundle(), // ... ]; // ... }
Example
/** * @Serializer\ExclusionPolicy("NONE") */ class Temp { /** * @Serializer\SerializedName("integer") * @Serializer\Type("Brick\Math\BigInteger") */ private BigInteger $integer; /** * @Serializer\SerializedName("decimal") * @Serializer\Type("Brick\Math\BigDecimal<'2'>") */ private BigDecimal $decimal; /** * @Serializer\SerializedName("rational") * @Serializer\Type("Brick\Math\BigRational") */ private BigRational $rational; public function __construct(BigInteger $integer, BigDecimal $decimal, BigRational $rational) { $this->integer = $integer; $this->decimal = $decimal; $this->rational = $rational; } public function getInteger(): BigInteger { return $this->integer; } public function getDecimal(): BigDecimal { return $this->decimal; } public function getRational(): BigRational { return $this->rational; } } // ---------------------------------------- $temp = new Temp( BigInteger::of('12345'), BigDecimal::of('123.4'), // scaled to 2 decimal places BigRational::of('4/7') ); echo $jmsSerializer->serialize($temp, 'json');
Results
Before (without bundle)
{
"integer": {"value": "12345"},
"decimal": {"value": "12340", "scale": 2},
"rational": {"numerator": {"value":"4"}, "denominator": {"value":"7"}}
}
After (using bundle)
{
"integer": "12345",
"decimal": "123.40",
"rational": "4\/7"
}
统计信息
- 总下载量: 144.39k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-04-02