netglue/boe-rates
Composer 安装命令:
composer require netglue/boe-rates
包简介
Simple utility to download and process historical Bank of England Base Rates
README 文档
README
This small library retrieves historical bank of england base rate data from the BoE Website, parses the returned XML into a data structure and provides some helpful methods to interrogate the data set.
The Rate Service instance accepts an array of rate data in it's constructor that should take the following form:
[
[
'date' => // DateTime instance
'rate' => // float
],
// ... more elements
];
The Rate Service is an SplPriorityQueue instance, so $rates->top() will yield the most recent value because elements are inserted with the timestamp as the priority. Being a queue, iterating over it will remove elements, so clone before iterating if you want the data to stick around or use the $queue->toArray() method.
Installation
$ composer require netglue/boe-rates
Usage
Client BoeRateClient
use Netglue\Money\BoeRateClient; $client = new BoeRateClient; // Optionally set a different endpoint with… // $client->setUrl('http://somewhere-else.com'); $rates = $client->get();
Service 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);
About
Netglue makes web based stuff in Devon, England. We hope this is useful to you and we’d appreciate feedback either way :)
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-10-03