ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Laravel货币

2021-05-07 16:51:53  阅读:282  来源: 互联网

标签:Laravel AmrShawky use get Currency rates 货币 Facade


Laravel货币是用于当前和历史货币汇率和加密货币汇率的简单软件包。基于免费的API exchangerate.host-无需API密钥!

安装
composer require amrshawky/laravel-currency

用法
1.货币换算
要将一种货币转换为另一种货币,您可以将这些方法链接起来:

use AmrShawky\Currency\Facade\Currency;
Currency::convert()
        ->from('USD')
        ->to('EUR')
        ->get();

要转换的金额默认为1,您可以指定金额:

use AmrShawky\Currency\Facade\Currency;Currency::convert()
        ->from('USD')
        ->to('EUR')
        ->amount(50)
        ->get();


2.使用历史汇率转换货币YYYY-MM-DD:

use AmrShawky\Currency\Facade\Currency;
Currency::convert()
        ->from('USD')
        ->to('EUR')
        ->date('2019-08-01')
        ->get();


3.将转换后的金额四舍五入到小数位:

use AmrShawky\Currency\Facade\Currency;
Currency::convert()
        ->from('USD')
        ->to('EUR')
        ->round(2)
        ->get();


4.您也可以在外汇银行视图之间切换数据源:

use AmrShawky\Currency\Facade\Currency;
Currency::convert()
        ->from('USD')
        ->to('EUR')
        ->source('ecb') //在外汇默认值,银行视图或加密货币之间切换数据源。
        ->get();


5.为了获得最新价格,您可以将这些方法链接起来:

use AmrShawky\Currency\Facade\Currency;
Currency::rates()
        ->latest()
        ->get();


6.就像货币转换一样,您可以链接任何可用的方法:

use AmrShawky\Currency\Facade\Currency;
Currency::rates()
        ->latest()
        ->symbols(['USD', 'EUR', 'EGP']) //用于限制输出货币的一组货币代码
        ->base('GBP') //更改基础货币(默认值:EUR)。输入您的首选基础货币的三个字母的货币代码。
        ->amount(5.66) //指定要转换的金额
        ->round(2) //整数到小数位
        ->source('ecb') //在外汇默认值,银行视图或加密货币之间切换数据源。
        ->get();


7.自1999年以来,大多数货币的历史汇率都是可用的。

use AmrShawky\Currency\Facade\Currency;
Currency::rates()
        ->historical('2020-01-01') //`YYYY-MM-DD` Required date parameter to get the rates for
        ->get();


8.与最新汇率相同,您可以链接任何可用方法:

use AmrShawky\Currency\Facade\Currency;
Currency::rates()
        ->historical('2020-01-01')
        ->symbols(['USD', 'EUR', 'CZK'])
        ->base('GBP')
        ->amount(5.66)
        ->round(2)
        ->source('ecb')
        ->get();


9.时间序列是您选择的两个日期之间的每日历史汇率,最长期限为365天。这将返回一个array以键为日期的值,以键为日期的值array或null失败率的值。

Currency::rates()
        ->timeSeries('2021-05-01', '2021-05-04') //开始日期,结束日期
        ->symbols(['USD', 'EUR', 'EGP']) 
        ->base('GBP') 
        ->amount(5.66)
        ->round(2) 
        ->source('ecb')
        ->get();


10.默认行为是返回null请求期间发生的错误(连接超时,DNS错误,客户端或服务器错误状态代码,缺少API成功参数等)。如果您想引发异常,则可以使用throw方法,该throw方法返回货币实例,从而允许您链接其他方法:

use AmrShawky\Currency\Facade\Currency;
Currency::convert()
        ->from('USD')
        ->to('EUR')
        ->amount(20)
        ->throw(function ($response, $e) {            //
        })
        ->get();


11.您可以使用该withoutVerifying方法来指示发送请求时不应验证TLS证书:

use AmrShawky\Currency\Facade\Currency;
Currency::convert()
        ->from('USD')
        ->to('EUR')
        ->withoutVerifying()
        ->get();

12.您可以使用方法指定其他Guzzle请求选项withOptions。该withOptions方法接受键/值对的数组:

use AmrShawky\Currency\Facade\Currency;
Currency::rates()
        ->historical('2021-04-30')
        ->withOptions([            
        'debug'   => true,            
        'timeout' => 3.0
        ])
        ->get();


13.when当给该方法的第一个参数评估为true时,该方法将执行给定的回调:

use AmrShawky\Currency\Facade\Currency;
Currency::rates()
        ->latest()
        ->when(true, function ($rates) {            // 执行
            $rates->symbols(['USD', 'EUR', 'EGP'])
                  ->base('GBP');
        })
        ->when(false, function ($rates) {            // 不执行
            $rates->symbols(['HKD']);
        })
        ->get();


标签:Laravel,AmrShawky,use,get,Currency,rates,货币,Facade
来源: https://blog.51cto.com/u_15181826/2759312

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有