rolice/laravel-currency

使用Yahoo! Finance API获取汇率并将其存储在数据库中以便进一步使用的包。

dev-master 2016-05-17 14:04 UTC

This package is not auto-updated.

Last update: 2024-09-23 06:28:34 UTC


README

使用外部API服务下载汇率并将其存储在数据库中以便进一步使用的Laravel包。此包旨在通过提取汇率并缓存到数据库和高级缓存引擎中,作为货币转换服务。

支持的框架版本:>= 5.1

安装

要安装此包,您应该从composer仓库中要求它。这可以通过执行以下require命令来完成:composer require rolice/laravel-currency,或者通过手动将要求行添加到您的composer.json中,如下所示:

{
  "require": {
    "rolice/laravel-currency": "dev-master",
  },
}

当包安装到您的项目vendor目录中时,您可以通过其服务提供者轻松启用该包。为此,在config/app.php中的providers部分(现有的配置数组)中添加一行。

Rolice\LaravelCurrency\ServiceProvider::class

现在包已启用,但您应该准备数据库并发布包内容

php artisan vendor:publish

当内容发布后,您应编辑config/laravel-currency/laravel-currency.php - 主要包配置文件,特别是connection设置,其中您应定义要存储汇率信息的数据库连接。准备好后,您可以使用以下Artisan命令执行表创建和设置。

php artisan migrate

上述两行将发布配置和迁移到项目目录 - config/database/migrations。之后,将执行迁移,并在配置的连接上创建新表。

现在您已准备好。该包已安装并可供使用。

同步

您可以通过执行包命令Sync来调用同步。这可以通过Artisan执行,如下所示:php artisan currency:sync。您可以使用Kernel命令将其设置为计划任务。

// ...
class Kernel extends ConsoleKernel
  /**
   * The Artisan commands provided by your application.
   *
   * @var array
   */
  protected $commands = [
    // some other previously registered commands
    \Rolice\LaravelCurrency\Commands\Sync::class, // Add this line in the console kernel
  ];
  
  protected function schedule(Schedule $schedule)
  {
      // Register periodic schedule for the command like. You can specify interval by yourself.
      $schedule->command('currency:sync')->monthly();
  }
}

使用

默认情况下,该包将定义其自己的路由和控制器 - <base>/currency。在此处,您可以调用所有货币的列表或调用转换,如下所示:<base>/currency/convert?from=<currency_code>&to=<currency_code>&amount=<amount>

转换将自动将给定的货币金额转换为目标货币。金额参数是可选的,如果省略,则默认为1 - 精确的转换率。货币代码是所需货币的官方三位ISO代码。

您将收到一个包含数字的成功JSON响应或包含失败时发生的错误的对象。成功转换的示例

请求

http://<yourdomain.com>/currency/convert?from=BGN&to=EUR

响应

0.509279