manford/weatherman

dev-master 2019-12-15 15:45 UTC

This package is auto-updated.

Last update: 2024-09-20 18:13:15 UTC


README

Total Downloads

OpenWeather "city only" api 的 Laravel 封装

安装

您可以使用以下命令通过 composer 安装此包

$ composer require manford/weatherman

Manford\Weatherman\WeathermanServiceProvider 将自动发现并默认注册。

如果您想自己注册它,请将 ServiceProvider 添加到 config/app.php

'providers' => [
    /*
     * Package Service Providers...
     */
    Manford\Weatherman\WeathermanServiceProvider::class,
]

Weather 门面也会自动发现。

如果您想手动添加,请将门面添加到 config/app.php

'aliases' => [
    ...
    'Weather' => Manford\Weatherman\Facades\Weatherman::class,
]

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Manford\Weatherman\WeathermanServiceProvider"

这是发布配置文件的包含内容,位于 config/weatherman.php

return [
    'base_url' => env('OPEN_WEATHER_URL'),

    'app_id' => env('OPEN_WEATHER_ID')
];

使用以下内容添加和更新您的 .env 文件。

访问 OpenWeather 获取您的 ID。

OPEN_WEATHER_URL=https://api.openweathermap.org/data/2.5/weather
OPEN_WEATHER_ID=

用法

在您的控制器中

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Manford\Weatherman\Facades\Weatherman as Weather;

class PageController extends Controller
{
    public function index()
    {
    	$city = Weather::city('accra');

    	return view('welcome', compact('city'));
    }
}

将此视图包含到您需要的地方

<div class="card-body">
    <h2>{{ $city->name }} Weather Status</h2>
    <div class="time">
        <div>{{ date("l g:i a", time()) }}</div>
        <div>{{ date("jS F, Y", time()) }}</div>
        <div>{{ ucwords($city->weather[0]->description) }}</div>
    </div>
    <div class="weather-forecast">
        <img src="http://openweathermap.org/img/w/{{ $city->weather[0]->icon }}.png"
            class="weather-icon" /> <?php echo $city->main->temp_max; ?>°C
        <span class="min-temperature">
            {{ $city->main->temp_min }}°C
        </span>
    </div>
    <div class="time">
        <div>Humidity: {{ $city->main->humidity }} %</div>
        <div>Wind: {{ $city->wind->speed }} km/h</div>
    </div>
</div>

贡献

有关详细信息和使用 to-do 列表,请参阅 contributing.md

安全

如果您发现任何与安全相关的问题,请通过电子邮件 benjaminmanford@gmail.com 联系,而不是使用问题跟踪器。

鸣谢

许可

MIT。有关更多信息,请参阅 许可文件