PHP code example of prgtw / big-number-serializer-bundle

1. Go to this page and download the library: Download prgtw/big-number-serializer-bundle library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

prgtw / big-number-serializer-bundle example snippets


	public function registerBundles()
	{
		$bundles = [
			// ...
			new prgTW\BigNumberSerializerBundle(),
			// ...
		];
		// ...
	}
	

/**
 * @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');