bejblade/openweather
Composer 安装命令:
composer require bejblade/openweather
包简介
A PHP library for interacting with the OpenWeather API.
README 文档
README
A PHP library for interacting with the OpenWeather API, providing tools for retrieving and processing weather data, including forecasts, current conditions, and historical data.
Features
- Support for free OpenWeather API endpoints (including One Call API):
- Current weather data
- 5-day/3-hour forecast
- One Call API (current, hourly, and daily forecast)
- Historical weather data
Installation
Install the library via Composer:
composer require bejblade/openweather
Configuration
The Config class is used to manage global settings for the library. You can set following options:
api_key(Required): Your OpenWeather API key.language: Language for API responses (default 'en').date_format: Date format used in dates of API data. PHP date format for displaying dates (default 'd/m/Y').time_format: Time format used in dates of API data. PHP date format for displaying time (default 'H:i').timezone: Some data from the API is returned only in the UTC timezone. Set this option to convert the data to your selected timezone. PHP supported timezone (default 'UTC')units: Units for temperature and measure, API data will be recieved in this format. (default metric)metric: Celsius/Metricimperial: Fahrenheit/Imperialstandard: Kelvin/Metric
Some of the options can be set in .env file:
api_key:OPENWEATHER_API_KEY,language:OPENWEATHER_LANGUAGE
By default, only api_key is required, other options will be loaded with default settings.
Basic setup
use Bejblade\OpenWeather\OpenWeather; // Initialize OpenWeather API with Your API key using default configuration $api = new OpenWeather(['api_key' => 'your_api_key']);
Example
use Bejblade\OpenWeather\OpenWeather; $api = new OpenWeather(['api_key' => 'your_api_key']); // First initialize location object $location = $api->findLocationByName('London'); // Fetch weather data $weather = $api->getWeather($location); echo 'Current weather in ' . $location->getName() .': '. $weather->getDescription(); echo 'Temperature: ' . $weather->temperature()->get().'°'.$weather->temperature()->getUnits(); if($location->getWeather()->isRaining()) // You can also access weather through location objects echo "It's raining";
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
This project is licensed under the MIT License.
bejblade/openweather 适用场景与选型建议
bejblade/openweather 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 151 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 01 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「api」 「weather」 「OpenWeatherMap」 「openweather」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 bejblade/openweather 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bejblade/openweather 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 bejblade/openweather 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Webrivage OpenWeatherMap Bundle for Symfony
🌤️ A wrapper around Open Weather Map to get the current weather on a location.
Laravel-forecast provides a service provider and a facade around the Forecast-php wrapper
A PSR-7 compatible library for making CRUD API endpoints
Add a weather widget to Flarum
eZ Platform Bundle for OpenWeatherMap
统计信息
- 总下载量: 151
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-01-23