php获取高德curl,GitHub - Curlson/weather: 基于高德平台的 PHP 天气查询组件

Weather

基于 高德开放平台 的 PHP 天气信息组件。

安装

$ composer require overtrue/weather -vvv

配置

在使用本扩展之前,你需要去 高德开放平台 注册账号,然后创建应用,获取应用的 API Key。

使用

use Overtrue\Weather\Weather;

$key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx';

$weather = new Weather($key);

获取实时天气

$response = $weather->getWeather('深圳');

示例:

{

"status": "1",

"count": "1",

"info": "OK",

"infocode": "10000",

"lives": [

{

"province": "广东",

"city": "深圳市",

"adcode": "440300",

"weather": "中雨",

"temperature": "27",

"winddirection": "西南",

"windpower": "5",

"humidity": "94",

"reporttime": "2018-08-21 16:00:00"

}

]

}

获取近期天气预报

$response = $weather->getWeather('深圳', 'all');

示例:

{

"status": "1",

"count": "1",

"info": "OK",

"infocode": "10000",

"forecasts": [

{

"city": "深圳市",

"adcode": "440300",

"province": "广东",

"reporttime": "2018-08-21 11:00:00",

"casts": [

{

"date": "2018-08-21",

"week": "2",

"dayweather": "雷阵雨",

"nightweather": "雷阵雨",

"daytemp": "31",

"nighttemp": "26",

"daywind": "无风向",

"nightwind": "无风向",

"daypower": "≤3",

"nightpower": "≤3"

},

{

"date": "2018-08-22",

"week": "3",

"dayweather": "雷阵雨",

"nightweather": "雷阵雨",

"daytemp": "32",

"nighttemp": "27",

"daywind": "无风向",

"nightwind": "无风向",

"daypower": "≤3",

"nightpower": "≤3"

},

{

"date": "2018-08-23",

"week": "4",

"dayweather": "雷阵雨",

"nightweather": "雷阵雨",

"daytemp": "32",

"nighttemp": "26",

"daywind": "无风向",

"nightwind": "无风向",

"daypower": "≤3",

"nightpower": "≤3"

},

{

"date": "2018-08-24",

"week": "5",

"dayweather": "雷阵雨",

"nightweather": "雷阵雨",

"daytemp": "31",

"nighttemp": "26",

"daywind": "无风向",

"nightwind": "无风向",

"daypower": "≤3",

"nightpower": "≤3"

}

]

}

]

}

获取 XML 格式返回值

第三个参数为返回值类型,可选 json 与 xml,默认 json:

$response = $weather->getWeather('深圳', 'all', 'xml');

示例:

1

1

OK

10000

广东

深圳市

440300

中雨

27

西南

5

94

2018-08-21 16:00:00

参数说明

array | string getWeather(string $city, string $type = 'base', string $format = 'json')

$city - 城市名,比如:“深圳”;

$type - 返回内容类型:base: 返回实况天气 / all:返回预报天气;

$format - 输出的数据格式,默认为 json 格式,当 output 设置为 “xml” 时,输出的为 XML 格式的数据。

在 Laravel 中使用

在 Laravel 中使用也是同样的安装方式,配置写在 config/services.php 中:

.

.

.

'weather' => [

'key' => env('WEATHER_API_KEY'),

],

然后在 .env 中配置 WEATHER_API_KEY :

WEATHER_API_KEY=xxxxxxxxxxxxxxxxxxxxx

可以用两种方式来获取 Overtrue\Weather\Weather 实例:

方法参数注入

.

.

.

public function edit(Weather $weather)

{

$response = $weather->getWeather('深圳');

}

.

.

.

服务名访问

.

.

.

public function edit()

{

$response = app('weather')->getWeather('深圳');

}

.

.

.

参考

License

MIT

本文章首发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值