1 Star 0 Fork 1

董志强 / weather

forked from 她和她的猫 / weather 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Weather

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

Build Status StyleCI build status GitHub

安装

$ composer require her-cat/weather -vvv

配置

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

使用

use HerCat\Weather\Weather;

$key = 'xxxxxxxxxxxxxxxxxxxxxx';

$weather = new Weather($key);

获取实时天气

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

示例:

{
    "status":"1",
    "count":"1",
    "info":"OK",
    "infocode":"10000",
    "lives":[
        {
            "province":"广东",
            "city":"深圳市",
            "adcode":"440300",
            "weather":"阴",
            "temperature":"24",
            "winddirection":"北",
            "windpower":"≤3",
            "humidity":"97",
            "reporttime":"2019-06-11 22:46:23"
        }
    ]
}

获取天气预报

$response = $weather->getForecastsWeather('深圳', 'json');

示例:

{
    "status":"1",
    "count":"1",
    "info":"OK",
    "infocode":"10000",
    "forecasts":[
        {
            "city":"深圳市",
            "adcode":"440300",
            "province":"广东",
            "reporttime":"2019-06-11 23:15:37",
            "casts":[
                {
                    "date":"2019-06-11",
                    "week":"2",
                    "dayweather":"阴",
                    "nightweather":"中雨",
                    "daytemp":"28",
                    "nighttemp":"25",
                    "daywind":"无风向",
                    "nightwind":"无风向",
                    "daypower":"≤3",
                    "nightpower":"≤3"
                },
                {
                    "date":"2019-06-12",
                    "week":"3",
                    "dayweather":"大雨",
                    "nightweather":"大暴雨",
                    "daytemp":"29",
                    "nighttemp":"26",
                    "daywind":"西南",
                    "nightwind":"西南",
                    "daypower":"4",
                    "nightpower":"4"
                },
                {
                    "date":"2019-06-13",
                    "week":"4",
                    "dayweather":"大暴雨",
                    "nightweather":"大雨",
                    "daytemp":"29",
                    "nighttemp":"25",
                    "daywind":"南",
                    "nightwind":"南",
                    "daypower":"4",
                    "nightpower":"4"
                },
                {
                    "date":"2019-06-14",
                    "week":"5",
                    "dayweather":"大雨",
                    "nightweather":"阵雨",
                    "daytemp":"30",
                    "nighttemp":"26",
                    "daywind":"无风向",
                    "nightwind":"无风向",
                    "daypower":"≤3",
                    "nightpower":"≤3"
                }
            ]
        }
    ]
}

获取 XML 格式返回值

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

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

示例:

<?xml version="1.0" encoding="UTF-8"?><root>
  <status>1</status>
  <count>1</count>
  <info>OK</info>
  <infocode>10000</infocode>
  <lives type="list">
    <live>
      <province>广东</province>
      <city>深圳市</city>
      <adcode>440300</adcode>
      <weather>多云</weather>
      <temperature>30</temperature>
      <winddirection>东北</winddirection>
      <windpower>≤3</windpower>
      <humidity>57</humidity>
      <reporttime>2019-06-14 18:46:06</reporttime>
    </live>
  </lives>
</root>

参数说明

array|string getLiveWeather(string $city, string $format = 'json')
array|string getForecastsWeather(string $city, string $format = 'json')
  • $city - 城市名,比如:“深圳”;
  • $format - 输出的数据格式,默认为 json 格式,当 output 设置为 “xml” 时,输出的为 XML 格式的数据。

在 Laravel 中使用

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

.
.
.
'weather' => [
    'key' => env('WEATHER_API_KEY'),
],

然后在 .env 中配置 WEATHER_API_KEY

WEATHER_API_KEY=xxxxxxxxxxxxxxxxxxxxx

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

方法参数注入

.
.
.
public function show(Weather $weather) 
{
    $response = $weather->getLiveWeather('深圳');
}
.
.
.

服务名访问

.
.
.
public function show() 
{
    $response = app('weather')->getLiveWeather('深圳');
}
.
.
.

参考

License

MIT

MIT License Copyright (c) 2019 她和她的猫 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
PHP
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/dong_zhi_qiang/weather.git
git@gitee.com:dong_zhi_qiang/weather.git
dong_zhi_qiang
weather
weather
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891