owenandrews / willyweather-php
WillyWeathers v2 API的PHP客户端。
v0.1.0
2017-05-22 01:13 UTC
Requires
- php: ^7.0
- guzzlehttp/guzzle: ^6.2
- kevinrob/guzzle-cache-middleware: ^2.0
- league/flysystem: ^1.0
- nesbot/carbon: ^1.22
This package is not auto-updated.
Last update: 2024-09-20 19:50:34 UTC
README
WillyWeathers v2 API的PHP客户端。 http://www.willyweather.com.au/info/api.html
注意:这不是官方库,也不包含全部功能。
需求
- PHP 7或更高版本
- WillyWeather API密钥
安装
composer require owenandrews/willyweather-php
使用
获取位置
获取指定位置ID的基本信息。
use WillyWeather\Client; $willyWeather = new Client('<API-KEY>'); $sydney = $willyWeather->location(4950); $sydney->getName();
获取预报和观测数据
获取位置的基本预报和观测数据。
use WillyWeather\Client; $willyWeather = new Client('<API-KEY>'); $sydney = $willyWeather->location(4950); $sydney->getForecasts(); $sydney->getObservational();
获取自定义预报数据
默认情况下,只返回基本7天天气预报。要覆盖此设置,只需在函数调用中添加一个预报类型数组。请参阅API文档以获取所有可用的预报类型。请注意,您必须为API密钥启用每个预报类型,否则请求将失败。
use WillyWeather\Client; $willyWeather = new Client('<API-KEY>'); $sydney = $willyWeather->location(4950); $sydney->getForecasts(["forecasts" => ["temperature", "wind", "rainfallprobability"], "days" => 3]);
简写
到目前为止,我们已经收到了位置、预报和观测数据,每次都进行单独的API调用。幸运的是,我们可以将它们捆绑成一个API调用。
use WillyWeather\Client; $willyWeather = new Client('<API-KEY>'); $sydney = $willyWeather->location(4950, ["forecasts" => ["temperature", "wind", "rainfallprobability"], "days" => 3, "observational" => true]); $sydney->getForecasts(); $sydney->getObservational();
这次只进行了一次API调用。
搜索
根据地名或邮编搜索位置。
use WillyWeather\Client; $willyWeather = new Client('<API-KEY>'); $sydney = $willyWeather->searchByQuery("Sydney")[0];
根据与一组坐标的邻近度搜索位置。
use WillyWeather\Client; $willyWeather = new Client('<API-KEY>'); $mackenziesBay = $willyWeather->searchByCoordinates(["lat" => -33.8996141, "lng" => 151.272962])[0];
缓存
包含基本的基于文件的缓存,这可以减少重复的API调用。要启用它,只需在构建客户端时传入一个合适的路径。
use WillyWeather\Client; $willyWeather = new Client('<API-KEY>', '/tmp/');
日期和时间
所有日期/时间字符串都转换为位于位置本地时区的Carbon对象。
贡献
欢迎贡献,只需提交一个拉取请求。😄
许可
本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息。
使用技术
- Guzzle - HTTP客户端
- GuzzleCache - Guzzle缓存中间件
- Carbon - 日期时间库
- Flysystem - 文件系统抽象