其他分享
首页 > 其他分享> > Laravel货币

Laravel货币

作者:互联网

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