overtrue / Weather
🌈 基于高德开放平台接口的 PHP 天气信息组件。
Stars: ✭ 143
Labels
Projects that are alternatives of or similar to Weather
Qbox
🐈 RxJava+Retrofit+Okhttp+Glide + A life tool App, contains modules: news; jokes; constellation fortune; LED; weather; calendar; two-dimensional code, and more ... 小秋魔盒是一个生活工具 App,主要功能有:新闻资讯;微信精选美文;笑话趣图;星座运势;LED字幕;天气;日历;二维码;手电筒;老黄历。在开发中尽可能多的用了目前比较流行的框架和库。
Stars: ✭ 1,360 (+851.05%)
Mutual labels: weather
Awesome Maps
There is more than google: A collection of great online maps 🌍🗺🌎
Stars: ✭ 124 (-13.29%)
Mutual labels: weather
Hkosharp
Unofficial C# Library of Hong Kong Observatory API
Stars: ✭ 135 (-5.59%)
Mutual labels: weather
Weatherchartview
A simple line chart view of weather for android.
Stars: ✭ 106 (-25.87%)
Mutual labels: weather
Python Workshop
A series of Jupyter Notebooks on exploring Unidata technology with Python. See website for more information.
Stars: ✭ 127 (-11.19%)
Mutual labels: weather
Flutter weather bg
A rich and cool weather dynamic background plug-in
Stars: ✭ 89 (-37.76%)
Mutual labels: weather
Weather
A weather app built to learn how to use Canvas and Animation in Flutter.
Stars: ✭ 138 (-3.5%)
Mutual labels: weather
Getme
CLI utility for everyday tasks. With getme you get weather, forecast, currency rate, upload files, IP address, word definitions, text translations, internet speed, do google searches, get inspirational quotes and get Chuck Norris jokes
Stars: ✭ 118 (-17.48%)
Mutual labels: weather
Weewx Belchertown
A clean and modern weewx skin with real time streaming updates, forecast data and interactive charts. View it in action at BelchertownWeather.com
Stars: ✭ 131 (-8.39%)
Mutual labels: weather
Sol
☀️ Sol° beautifully displays weather information so you can plan your day accordingly. Check the weather in your current location or any city around the world. Implemented in Objective-C.
Stars: ✭ 1,430 (+900%)
Mutual labels: weather
Conky synthwave neon
Synthwave-inspired Conky theme with weather support and a spiffy layout.
Stars: ✭ 111 (-22.38%)
Mutual labels: weather
Ansiweather
Weather in terminal, with ANSI colors and Unicode symbols
Stars: ✭ 1,663 (+1062.94%)
Mutual labels: weather
Inbrief
InBrief is a personal briefing app and dashboard powered by Electron and React
Stars: ✭ 90 (-37.06%)
Mutual labels: weather
Forecastr
A simple, asynchronous Objective-C wrapper for the Forecast.io API
Stars: ✭ 143 (+0%)
Mutual labels: weather
Simple Weather Card
Minimalistic weather card for Home Assistant
Stars: ✭ 135 (-5.59%)
Mutual labels: weather
Emacs Wttrin
Emacs frontend for weather web service wttr.in.
Stars: ✭ 129 (-9.79%)
Mutual labels: weather
Weather
🌈 基于高德开放平台的 PHP 天气信息组件。
安装
$ composer require overtrue/weather -vvv
配置
在使用本扩展之前,你需要去 高德开放平台 注册账号,然后创建应用,获取应用的 API Key。
使用
use Overtrue\Weather\Weather;
$key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx';
$weather = new Weather($key);
获取实时天气
$response = $weather->getLiveWeather('深圳');
示例:
{
"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->getForecastsWeather('深圳');
示例:
{
"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->getLiveWeather('深圳', 'xml');
示例:
<response>
<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>27</temperature>
<winddirection>西南</winddirection>
<windpower>5</windpower>
<humidity>94</humidity>
<reporttime>2018-08-21 16:00:00</reporttime>
</live>
</lives>
</response>
参数说明
array | string getLiveWeather(string $city, string $format = 'json')
array | string getForecastsWeather(string $city, string $format = 'json')
$city
- 城市名/高德地址位置 adcode,比如:“深圳” 或者(adcode:440300);$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->getLiveWeather('深圳');
}
.
.
.
服务名访问
.
.
.
public function edit()
{
$response = app('weather')->getLiveWeather('深圳');
}
.
.
.
参考
PHP 扩展包开发
想知道如何从零开始构建 PHP 扩展包?
请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》
License
MIT
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].