吴军泽/money-wrapper

MoneyPHP 包装器

1.0.2 2018-07-04 01:53 UTC

This package is auto-updated.

Last update: 2024-09-12 12:37:28 UTC


README

Build Status Latest Stable Version Total Downloads License

MoneyPHP 包装器

基于 money-wrapper

这是 Money 的包装器。

本包装器

  1. 提供 Money 辅助函数 - money()
  2. 专为 Laravel 框架设计,但也可在 Laravel 框架之外使用。
  3. 提供常用用法,例如
  • 供人类阅读 - RM 1.00, RM 345.00
  • 供常规显示 - 1.00, 345.00
  • 供机器(旨在存储在数据库中的格式 - 整数)- 100, 34500
  • 固定汇率转换 - $ 1 > RM 3.87

安装

  1. 要在您的 Laravel 项目中安装 wujunze/money-wrapper,只需从终端运行 composer require 命令
$ composer require wujunze/money-wrapper
  1. 然后在您的 config/app.php 文件中,将以下内容添加到 providers 数组中
wujunze\MoneyWrapper\MoneyWrapperServiceProvider::class,
  1. 在相同的 config/app.php 文件中,将以下内容添加到 aliases 数组中
'MoneyWrapper' => wujunze\MoneyWrapper\MoneyWrapperFacade::class,
  1. 发布 Money 包装器配置
$ php artisan vendor:publish --tag=money-wrapper-config

您可以根据国家添加更多货币详情。有关详细信息,请参阅下面的贡献部分。

用法

获取 Money 包装器实例

默认情况下,将使用 MYR,马来西亚林吉特货币。

您可以通过 .env 文件或调用 money() 辅助函数时传递国家 Alpha 2 代码来覆盖。

$money = money(); // by default it will use MY
$moneyUsd = money('US'); // pass the country code - ISO Alpha 2

在发布 Money 包装器配置文件并添加更多支持的货币后,您可以添加更多货币。

请参阅国家代码及其货币 swift 代码和符号在货币列表

获取货币格式

echo money()->toHuman(100); // RM 1.00, useful for human readability
echo money()->toCommon(100); // 1.00
echo money()->toMachine('1.00'); // 100, always store in database as integer. 

转换固定汇率

$fixedExchange = [
    'MYR' => [
        'USD' => 3.87,
    ],
];
echo money()->convertFixedRate($fixedExchange, 100, 'USD')->getAmount(); // 387

推荐在数据库中使用大整数数据类型

贡献

根据以下资源更新货币列表(config/currency.php

  1. 使用 国家列表 中定义的 Country ISO Alpha 2 代码作为键。
  2. 参考货币列表中的可用货币。
  3. 使用www.xe.com中声明的符号。

结构如下

[
	'MYR' => [
		'swift_code' => 'MYR',
		'symbol' => 'RM'
	]
]

许可证

本软件包是开源软件,许可证为 MIT 许可证