archette/currency

rixafy/currency 到 Nette 框架的实现

v2.0.1 2022-03-21 00:16 UTC

This package is auto-updated.

Last update: 2024-09-21 05:38:01 UTC


README

💱 CRUD 模型 rixafy/currency 移植到 @nette 框架。

安装

composer require archette/currency

将扩展添加到您的 neon 配置中

extensions:
    archette.currency: Archette\Currency\CurrencyExtension

archette.currency:
    apiKey: <Your api key from fixer.io>
    apiService: fixer
    baseCurrency: EUR

然后运行命令 php bin/console rixafy:currency:update 以将货币及其汇率加载到数据库中(小数点、分隔符和符号尚未包含在更新脚本中)

示例用法

使用扩展的基本示例

转换

$eur = $this->currencyFacade->getByCode('EUR'); // returns Currency instance
$usd = $this->currencyFacade->getByCode('USD'); // returns Currency instance

$eur->convertFrom($usd, 100); // converts 100 USD to EUR, returns float
$eur->convertTo($usd, 100); // converts 100 EUR to USD, returns float

Latte 过滤器

有 3 个基本 Latte 过滤器,分别是 currencycurrencyCodecurrencyNumber,所有 3 个过滤器具有相同的参数,$amount 和 $currencyCode(可选)

{45.54|currency} 如果默认或提供(CurrencyProvider::provide('USD'))的货币是 USD,则将显示 $45.54

{45.54|currency:'EUR'} 将显示 45,54 €

{45.54|currencyCode:'EUR'} 将显示 45,54 EUR

{45.54|currencyNumber:'EUR'} 将显示 45,54

小数点、百位和千位分隔符、符号和代码保存在数据库中(currency 表)

重要

扩展需要实现 Nette 框架中的 Doctrine ORM - https://github.com/nettrine/orm.

扩展需要实现 Nette 框架中的 symfony/console - https://github.com/contributte/console.