netglue / boe-rates
一个简单的实用工具,用于下载和处理历史英格兰银行基准利率
1.0
2016-10-03 13:44 UTC
Requires
- php: >=7.0
- zendframework/zend-http: ^2.5
- zendframework/zend-stdlib: ^3.1
Requires (Dev)
- phpunit/phpunit: ^5.5
This package is auto-updated.
Last update: 2024-09-08 06:52:28 UTC
README
这个小型库从英格兰银行网站检索历史英格兰银行基准利率数据,将返回的XML解析成数据结构,并提供一些有用的方法来查询数据集。
利率服务实例在其构造函数中接受一个利率数据数组,其形式如下
[ [ 'date' => // DateTime instance 'rate' => // float ], // ... more elements ];
利率服务是一个SplPriorityQueue
实例,因此$rates->top()
将返回最新值,因为元素是以时间戳作为优先级插入的。作为一个队列,迭代它将移除元素,所以如果你想保留数据,请在迭代之前克隆,或者使用$queue->toArray()
方法。
安装
$ composer require netglue/boe-rates
用法
客户端 BoeRateClient
use Netglue\Money\BoeRateClient; $client = new BoeRateClient; // Optionally set a different endpoint with… // $client->setUrl('http://somewhere-else.com'); $rates = $client->get();
服务 BoeRateService
use Netglue\Money\BoeRateService; $service = new BoeRateService($rates); $first = $service->firstDate(); $last = $service->lastDate(); $mostRecentRate = $service->getRate(); $date = DateTime::createFromFormat('Y-m-d', '2000-06-01'); $otherRate = $service->getRate($date); // Iterate over rates: most recent first… $queue = clone $service; $queue->setExtractFlags($queue::EXTR_DATA); foreach ($queue as $data) { printf( "The BoE base rate changed to %0.2f on %s\n", $data['rate'], $date['date']->format('l jS F Y') ); } // Serialize to JSON for caching. Date format is optional and defaults to 'c' $dateFormat = 'd/m/Y'; $json = $service->toJson($dateFormat); // Initialize service from JSON string $service = BoeRateService::jsonFactory($json, $dateFormat);
关于
Netglue在英国德文郡制作基于网络的工具。我们希望这对你有帮助,无论哪种方式我们都非常感谢:)