qbil-software / openexchangeratesbundle
兼容 Symfony 2.8 的从 openexchangerates.com 获取外汇汇率的包。`qbil-software/openexchangerates` 包的 Symfony 包装器
Requires
- guzzlehttp/guzzle: ^6.3
- qbil-software/openexchangerates: ^1.0
README
兼容 Symfony 4+ 的从 openexchangerates.com 获取外汇汇率的包。`qbil-software/openexchangerates` 包的 Symfony 包装器
安装
-
将
qbil-software/openexchangeratesbundle
添加到composer.json
文件中 -
运行
composer update
-
通过在
AppKernel.php
中添加以下行来注册包new Qbil\OpenExchangeRateBundle\QbilOpenExchangeRatesBundle()
-
将
qbil_open_exchange_rates.app_id: APP_ID
和qbil_open_exchange_rates.base_currency: BASE_CURRENCY_SYMBOL
添加到parameters.yml
中,其中 APP_ID 是你的应用程序 ID(有关应用程序 ID 的更多信息,请参阅 https://docs.openexchangerates.org/docs/authentication),BASE_CURRENCY_SYMBOL 是你的基础货币(有关基础货币的更多信息,请参阅 https://docs.openexchangerates.org/docs/set-base-currency)。默认基础货币是 USD。如果你不想更改基础货币,将其设置为~
-
你现在可以使用这个包了。
使用方法
Open exchange rates bundle 包含一个 ID 为 Qbil\OpenExchangeRates\Exchange
的服务,可以通过 symfony 的依赖注入功能将其注入到其他服务中。
方法
该服务提供了五个公共方法 latest
、historical
、between
、convert
和 currencies
。
除了 currencies
(它不接受任何参数)之外,所有方法都可以接受一个关联数组作为参数,以下是一些键
symbols
或currencies
- 仅获取指定货币的外汇汇率(以逗号分隔的格式)。
例如
$this-get('qbil_open_exchange_rates.exchange')->latest(['symbols' => 'USD,EUR,GBP'])
将返回 USD、EUR 和 GBP 的最新外汇汇率数组base
- 即使你在parameters.yml
文件中指定了基础货币,你也可以通过将base
键添加到参数数组中在每个请求中覆盖它
例如
$this-get('qbil_open_exchange_rates.exchange')->latest(['base' => 'GBP'])
将返回以基础货币 GBP 为基准的最新外汇汇率数组
方法说明
-
latest
- 此方法获取最新的外汇汇率。例如,$this-get('qbil_open_exchange_rates.exchange')->latest()
将返回最新汇率的数组。 -
historical
- 此方法获取特定日期的外汇汇率。它有一个必需的参数键date
(yyyy-mm-dd 格式),即你想要获取外汇汇率的日期。例如,$this-get('qbil_open_exchange_rates.exchange')->historical(['date' => '2017-10-01'])
将返回 2017-10-01 日期的汇率数组。 -
between
- 此方法获取由参数键start
和end
(均为 yyyy-mm-dd 格式)指定的特定日期之间的外汇汇率。例如,$this-get('qbil_open_exchange_rates.exchange')->between(['start' => '2017-10-01', 'end' => '2017-11-05'])
将返回 2017-10-01 和 2017-11-05 之间的汇率数组。 -
convert
- 此方法用于根据最新的外汇汇率将任何货币价值从一种货币转换为另一种货币。它有三个必需的参数键amount
、from
和to
。`from` 和 `to` 是货币代码(3 个字母)和 `amount` 是你想要转换的金额。例如,$this-get('qbil_open_exchange_rates.exchange')->between(['amount' => '15678800', 'from' => 'USD', 'to' => 'EUR'])
将返回 EUR(作为字符串)中的等效金额。 -
货币
- 此方法返回所有受支持货币的数组,其中以符号作为键,以货币作为值。
注意:上述某些方法仅在企业版或终极版中可用。请访问 https://openexchangerates.com 获取更多信息。