How moneyphp/money works
Money is a PHP value-object library for exact monetary amounts represented as strings. The principal workflow is creating a Money value, performing arithmetic through a calculator, and optionally parsing, formatting, or exchanging it. Currency repositories supply currency metadata; the README also documents JSON serialization and exchange integrations. The sampled source confirms parser, calculator, indirect-exchange, and ISO-currency behavior; wiring among unsampled components is omitted where uncertain.
Main entry points: Currencies.php Currencies API · Exchange.php Exchange API · MoneyParser.php Money parser API · Money.php Money value
Components 25
Money values
- Money value
src/Money.php - Currency code
src/Currency.php - Arithmetic calculator
src/Calculator.php - Number utilities
src/Number.php
Currency metadata
- Currencies API
src/Currencies.php - ISO currencies
src/Currencies/ISOCurrencies.php - ISO currency data
resources/currency.php - Crypto currencies
src/Currencies/CryptoCurrencies.php - Crypto currency data
resources/binance.php - Cached currencies
src/Currencies/CachedCurrencies.php - Combined currencies
src/Currencies/AggregateCurrencies.php
Parsing and formatting
- Money parser API
src/MoneyParser.php - Decimal parser
src/Parser/DecimalMoneyParser.php - Intl parser
src/Parser/IntlMoneyParser.php - Other parsers
src/Parser - Money formatter API
src/MoneyFormatter.php - Money formatters
src/Formatter - Teller facade
src/Teller.php
Currency exchange
- Exchange API
src/Exchange.php - Fixed rates
src/Exchange/FixedExchange.php - Exchanger adapter
src/Exchange/ExchangerExchange.php - Indirect rates
src/Exchange/IndirectExchange.php - Swap adapter
src/Exchange/SwapExchange.php
Other components
- Library user
- Rate service
Connections 31
- Library user → Money value: creates and uses
- Money value → Arithmetic calculator: calculates with
- Arithmetic calculator → Number utilities: uses
- Library user → Money parser API: parses amounts
- Money parser API → Decimal parser: implemented by
- Money parser API → Intl parser: implemented by
- Decimal parser → Currencies API: reads subunits
- Decimal parser → Money value: constructs
- Intl parser → Currencies API: reads subunits
- Intl parser → Money value: constructs
- Other parsers → Money parser API: implements
- Library user → Money formatter API: formats amounts
- Money formatters → Money formatter API: implements
- Money formatters → Currencies API: reads subunits
- Teller facade → Money parser API: uses parser
- Teller facade → Money formatter API: uses formatter
- ISO currencies → Currencies API: implements
- ISO currencies → ISO currency data: loads data
- Crypto currencies → Currencies API: implements
- Crypto currencies → Crypto currency data: loads data
- Cached currencies → Currencies API: implements
- Combined currencies → Currencies API: implements
- Library user → Exchange API: requests conversion
- Fixed rates → Exchange API: implements
- Exchanger adapter → Exchange API: implements
- Indirect rates → Exchange API: implements
- Indirect rates → Currencies API: searches currencies
- Indirect rates → Exchange API: requests rate quotes
- Swap adapter → Exchange API: implements
- Exchanger adapter → Rate service: gets rates
- Swap adapter → Rate service: gets rates