victoravelar / geld
一个用于处理货币显示和兑换的Laravel包。
Requires
- php: ~7.2
- ext-json: *
- victoravelar/fixer-exchange: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
- laravel/framework: ^6.0
- nunomaduro/phpinsights: ^1.6
- orchestra/testbench: ^4.3
- phpmd/phpmd: ^2.6
- phpstan/phpstan: ^0.11.1 || ^0.12.0
- phpunit/phpunit: >=7.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2020-10-06 06:25:15 UTC
README
将货币汇率引入您的Laravel应用程序
安装
通过Composer
composer require victoravelar/geld
入门
Geld 允许您使用 Fixer.io 作为数据源,拉取并存储货币汇率,它高度可配置且完全根据您的需求。
使用方法
使用 FIXER_API_KEY
作为名称,将您的 Fixer.io API 密钥设置为项目环境变量。
配置
有关配置选项的详细信息,请参阅 config/geld.php
,其中包含可用的选项以及每个选项的详细说明。
如果您接受默认设置,则可以继续操作;如果您想更改某些设置,请运行 php artisan vendor:publish
并从列表中选择 GeldServiceProvider
。
geld.php
文件将被发布到Laravel默认配置文件夹。
设置调度器
要使用 Laravel 中的任务调度,您需要在服务器上启动 Cron,您可以参考相关 Laravel 文档 获取详细说明。
拉取汇率
如果您使用的是免费 Fixer.io 账户,您有权访问每小时更新的数据,建议尽可能频繁地拉取汇率。
将以下代码复制并粘贴到您的 app/Console/Kernel.php
文件中,以每小时拉取一次汇率。
$schedule->command(UpdateExchangeRatesCommand::class)->hourlyAt(5);
此代码片段指示您的 Laravel 应用程序在每小时 5 分钟后拉取汇率。
历史表
此表可能成为潜在的大信息容器(如果启用),因为每小时它都会从 API 拉取新记录,历史表旨在解决在特定时间显示或计算某一天执行的条目时的问题,或者在使用旧汇率时需要访问旧汇率的情况。
如果您只需要最新的汇率,则可以将 history_mode
配置变量设置为 false 来禁用历史存储。
保留期
我们提供了一个命令,它会软删除超过定义的保留期的旧记录,您可以使用 retention
配置变量来更改此保留期。
要安排此命令的执行,请将以下代码片段复制并粘贴到 app/Console/Kernel.php
文件中。
$schedule->command(CheckRetentionCommand::class)->weekly();
数据销毁
彻底消失
资金还包含一个焚烧器,此命令将永久删除超过定义的焚烧期记录,您可以使用 incinerate_after
配置变量来控制此时间窗口。
如果您不希望从历史表中永久删除信息,可以通过将 incinerate
配置变量设置为 false 来禁用焚烧器。
要安排此命令的执行,请将以下代码片段复制并粘贴到 app/Console/Kernel.php
文件中。
$schedule->command(DataIncineratorCommand::class)->monthly();
事件
每次从 Fixer.io 成功拉取后,Geld 都会调度一个 RatesUpdated 事件,您可以挂钩到该事件。
变更日志
有关最近变更的更多信息,请参阅 CHANGELOG。
测试
$ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 deltatuts@gmail.com 而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。